Re: Вызвать конструктор напрямую
От: Caracrist https://1pwd.org/
Дата: 09.12.09 10:07
Оценка: 1 (1) -1
Здравствуйте, Rothmans, Вы писали:

R>Привет всем,


R>Вот давеча натолкнулся (в коде коллег ) на такую вот конструкцию:

R>сначала стояло:
R>
R>class SomeClass
R>{
R>...
R>};

R>SomeClass x[100];
R>...
R>for(..)
R>{
R>  x[i] = SomeClass();
R>}
R>

R>потом видимо при переходе на очередную версию gcc это дело перестало работать (?) и оказалось закомментированным.
R>На место вышеозначенного кода пришло следующее:
R>
R>class SomeClass
R>{
R>...
R>};

R>SomeClass x[100];
R>...
R>for(..)
R>{
R>  // g++ does not allow the automatic casting
R>  // x[i] = SomeClass();
R>  SomeClass sc = SomeClass();
R>  x[i] = sc;
R>}
R>

R>Правда второй вариант тоже не собирается, поскольку у SomeClass не объявлен копирующий конструктор.


new (&x[i]) SomeClass();

~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.