x64 operator new []
От: roman313  
Дата: 15.10.10 09:02
Оценка:
Hi!

есть проблема в построении 64-битного приложения —
не могу использовать operator new [] с размером более 0x7fffffff


к примеру, BYTE *p = new BYTE [0x1FFFFFFFF];

приводит к ошибке:
Ошибка 1 error C2148: общий размер массива не должен превышать 0x7fffffff байт D:\Роман В Автухов\Visual Studio\Проекты\00\00\00.cpp 25


Если использовать функции Heap... то OK.

Как обойти ограничение operator new ?

определяется он как void* operator new [] (size_t),
и в 64-битном режиме size_t == __int64, но код все равно не прокатывает.

Может, чисто ошибка компилятора Microsoft VC++ 2010?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.