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

Konstruktor z operatorem new, tablicą i argumentem

Ostatnio zmodyfikowano 2014-07-19 15:10
Autor Wiadomość
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?
P-114036
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.
P-114038
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
P-114039
« 1 »
  Strona 1 z 1