Problem z dynamicznym dodawaniem obiektów do vectora
Ostatnio zmodyfikowano 2014-12-01 10:19
Monika90 |
» 2014-11-30 15:21:30 unique_ptr sam usuwa obiekt na który wskazuje. |
|
dek12 Temat założony przez niniejszego użytkownika |
» 2014-11-30 19:57:13 Ostatnie pytanie mam, jak przekazać teraz ten pointer jako argument funkcji. void metodatest( test & t1, std::vector < std::unique_ptr < test >> T )
i pozmieniałem wszystkie odwołania w ciele funkcji T.metoda na: T->metoda. jednak wyskakuje mi taki błąd: c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.7.1\include\c++\bits\stl_construct.h|77|error: use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = test; _Dp = std::default_delete<test>; std::unique_ptr<_Tp, _Dp> = std::unique_ptr<test>]'|
|
|
dek12 Temat założony przez niniejszego użytkownika |
» 2014-11-30 21:44:29 Wywołuje funkcję tak: metodatest( obiektTest, mojVektor ); |
|
Monika90 |
» 2014-12-01 00:12:33 Przekazuj wektor przez (const) referencję void f( std::vector < std::unique_ptr < test >>& w );
f( twoj_wektor );
albo z const, jeżeli nie chcesz modyfikować obiektów void f( const std::vector < std::unique_ptr < test >>& w );
f( twoj_wektor );
Jeżeli masz pojedynczy unique_ptr < test > ptr , to robisz tak: void f( test & t );
f( * ptr );
|
|
dek12 Temat założony przez niniejszego użytkownika |
» 2014-12-01 10:19:25 Dziękuje Pani Moniko serdecznie :) |
|
1 « 2 » |