Konstruktor z operatorem new, tablicą i argumentem
Ostatnio zmodyfikowano 2014-07-19 15:10
mac104 Temat założony przez niniejszego użytkownika |
Konstruktor z operatorem new, tablicą i argumentem » 2014-07-19 14:46:33 Próbuję wywołać konstruktor obiektu, przyjmujący argument, który przydzieli dynamicznie wskaźnikowi tablicę: "klasa * obiekt = new klasa(16)[3];" wyskakuje mi błąd: [Error] expected ',' or ';' before '[' token albo "klasa * obiekt = new klasa[3](16);" wyskakuje: [Error] parenthesized initializer in array new [-fpermissive] Pisze w Dev 5.6.2 . Próbowałem tam też wsadzać jakieś przecinki, średniki. Gdy robiłem sam argument albo samą tablicę udawało się. Jak to można zrobić? Czy w ogóle można? |
|
pekfos |
» 2014-07-19 14:49:33 Nie można. Użyj std::vector<>. Zarezerwuj pamięć przez reserve() i dodawaj elementy przez emplace_back() (od biedy push_back()) - to da dokładnie taki efekt, jaki próbujesz osiągnąć, dodatkowo będziesz mógł ustalać argumenty konstruktorów oddzielnie dla każdego elementu. Jeśli na tym Ci nie zależy, możesz użyć konstruktora std::vector<> przyjmującego ilość elementów i wartość dla nich. |
|
mac104 Temat założony przez niniejszego użytkownika |
» 2014-07-19 15:10:54 Dobra, nie wiem o co chodzi, na razie sobie to daruje ale potem spróbuje ogarnąć :) dzięki |
|
« 1 » |