Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

std::map a konstruktor typu

Ostatnio zmodyfikowano 2014-07-31 19:23
Autor Wiadomość
1aam2am1
Temat założony przez niniejszego użytkownika
std::map a konstruktor typu
» 2014-07-31 18:23:04
Czy istnieje, a jak istnieje to powiedzcie jak, możliwość wywołania konstruktora podczas powstawania elementu w kontenerze std::map ?
Podczas powstawania tego elementu.

Potrzebny mi sposób aby w konstruktorze klasy a, która zawiera std::map przechowujący inną klasę b zadeklarować konstruktor tej klasy b(int)
P-114781
Monika90
» 2014-07-31 18:50:33
Na dokumentację możesz zawsze liczyć
http://en.cppreference.com/w​/cpp/container/map/emplace
zresztą, może nie potrzebujesz emplace i wystrczy ci insert
http://en.cppreference.com/w​/cpp/container/map/insert
P-114782
1aam2am1
Temat założony przez niniejszego użytkownika
» 2014-07-31 19:07:31
Insert nie działa: \mingw\lib\gcc\mingw32\4.8.1\include\c++\tuple|1088|error: no matching function for call to 'First_item::First_item()'|

Dodam, że First_item to classa która niema konstruktora, który przyjmował by 0 elementów.
P-114785
unkn9wn
» 2014-07-31 19:16:26
"włóż" je używając std::make_pair() ;p
P-114787
Monika90
» 2014-07-31 19:20:53
Oczekujesz, że będziemy zgadywać co próbujesz zrobić i w jaki sposób.
insert używa się w taki sposób
C/C++
std::map < X, Y > m;
m.insert( { X( 1, 2 ), Y( 3, 4 ) } );

jeżeli mapped_type (w przykładzie Y) nie ma konstruktora domyślengo, to nie można używać operatora [], ale można używać at albo find
P-114788
1aam2am1
Temat założony przez niniejszego użytkownika
» 2014-07-31 19:23:59
Dzięki działa, miałem dwie bliźniacze funkcje i nie zauważyłem, że pokazuje błąd w innej, już wszystko działa.
P-114789
« 1 »
  Strona 1 z 1