Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: почему не работает realloc?
Форум на CrossPlatform.RU > Разработка > С\С++
mezmay
Почему этот код работает:
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...
igor_bogomolov
realloc просто распределяет память. Она не создает объектов, не вызывает их конструкторов.
Т.е. во втором примере ты просто распределил память размером 3 * sizeof(QFile) и все. Сами объекты QFile при этом не созданы. Поэтому в третьей строке ты обращаешься к несуществующему объекту.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.