0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 18
|
||||||
1 | ||||||
Явный вызов конструктора03.10.2009, 19:06. Показов 9708. Ответов 10
Всем привет. Есть примерно такой код:
0
|
|
03.10.2009, 19:06 | |
Ответы с готовыми решениями:
10
Явный вызов деструктора Явный вызов перегрузки Вызов конструктора из конструктора и проверка правильности передаваемых параметров |
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 18
|
|
03.10.2009, 22:11 [ТС] | 3 |
Попробовал, Visual 2008 ругается
error: C2075: 'Target of operator new': array initialization needs curly braces в обшем фигурные скобки просит, чтобы массив инициализировать
0
|
Maniac
![]() |
||||||
03.10.2009, 22:25 | 4 | |||||
так попробуй
0
|
Модератор
![]() ![]() ![]() ![]() 11710 / 7217 / 1710
Регистрация: 25.07.2009
Сообщений: 13,218
|
||||||
04.10.2009, 01:18 | 5 | |||||
Ti]v[, вот, что получилось:
0
|
![]() 1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
|||||||||||
04.10.2009, 12:09 | 6 | ||||||||||
Есть несколько грязноватый и хакообразный, но всё же достаточно легальный и простой вариант с in-place new:
Только вот при уничтожении придётся вызывать деструкторы вручную:
0
|
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 18
|
|
04.10.2009, 15:10 [ТС] | 7 |
Nick Alte, error C2440: 'reinterpret_cast': cannot convert from 'char*' to 'my_class'. Возможно я что то недопонял. просто я с С++ всего полгода, читать между строк пока не получается
![]() ISergey, тоже не прошло, даже не понял что не так. easybudda, параметры передаются но есть проблема с освобождением памяти. Строка delete arr[i][j]; вызывает ошибку С2440: 'delete': cannot convert from 'my_class' to 'void*'. Если её закоментировать то начинает компилироваться, но во время выполнения вылезает ошибки с просьбой отправить сообщение Гейтсу.
0
|
Maniac
![]() |
||||||
04.10.2009, 15:42 | 8 | |||||
![]()
0
|
![]() 1672 / 1044 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
|
||||||
04.10.2009, 15:48 | 9 | |||||
Ну подумаешь, опечатался. Забыл звёздочку.
0
|
Модератор
![]() ![]() ![]() ![]() 11710 / 7217 / 1710
Регистрация: 25.07.2009
Сообщений: 13,218
|
||||||
04.10.2009, 16:53 | 10 | |||||
Ti]v[, не поверите! Тремя разными компиляторами проверил (cl от vs 2005 и двумя разными g++). Ниодин не ругнулся и всё работает... Попробуйте вот так
0
|
0 / 0 / 0
Регистрация: 03.10.2009
Сообщений: 18
|
|
04.10.2009, 23:44 [ТС] | 11 |
Ребята, всем спасибо, всё попробую. Сейчас я немного подругому делаю - без явноговызова. В силу специфики программы, при использовании явного вызова, дальше ещё больше проблем появляется. В основном с указателями и областями видимости. Я пока слишком молодой, чтобы в одиночку с ними бороться.
![]()
0
|
04.10.2009, 23:44 | |
Помогаю со студенческими работами здесь
11
Явный вызов конструкторов перемещения Явный вызов и объявление статических полей Вызов конструктора из конструктора - ошибка Явный вызов оператора или функции доступа невозможен (xNet & Fleck) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |