我正在使用MSVC2008并编写类似的内容(确切的代码不同,但这只是为了说明问题):
void *p = NULL;
int size = 12;
...
...
p = malloc(size * sizeof(int));
if(p != NULL)
{
new ((int *)p) int[size];
}
...
((int*)p)[5] = 3;
我得到以下编译错误:
error C2660: function 'operator new' does not take 2 arguments
现在,当我使用自己的类和我编写的重载贴片时,这非常有效。但是内置标准类型却没有? 或者我错过了什么?
P.S。我这样做是因为我必须和我知道有其他选择,所以请耐心等待。
答案 0 :(得分:1)
谢谢,ameyCU ...... 它不见了
#include <new>
现在编译好了:))