crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в почему не работает realloc?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
igor_bogomolov Дата 9.8.2011, 10:00
  realloc просто распределяет память. Она не создает объектов, не вызывает их конструкторов.
Т.е. во втором примере ты просто распределил память размером 3 * sizeof(QFile) и все. Сами объекты QFile при этом не созданы. Поэтому в третьей строке ты обращаешься к несуществующему объекту.
mezmay Дата 9.8.2011, 8:52
  Почему этот код работает:
QFile *pFiles = NULL;
pFiles = new QFile[3];
pFiles[0].setFileName("name");

а этот нет?:
QFile *pFiles = NULL;
pFiles = (QFile *)realloc(pFiles, 3 * sizeof(QFile));
pFiles[0].setFileName("name");

- вылетает на строке pFiles[0].setFileName("name"); - access violation reading location...
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 16:10