'operator new':函数不带2个参数

时间:2013-11-07 08:42:34

标签: c++ placement-new

由于某些原因,我似乎无法将我的展示位置新工作。基于这个问题,我已经设置了correctly

但是,我继续收到错误:

  

'operator new':函数不带2个参数

这是我的代码:

char * p = new char [sizeof(Node) * 5];
Node* node = new(p) Node();

其中Node是链表节点。我试图根据其他堆栈溢出问题简化此问题,我仍然得到同样的错误:

char *buf  = new char[sizeof(int)]; // pre-allocated buffer
int *p = new (buf) int;

有谁知道我为什么遇到这个问题?

非常感谢任何帮助!

PS,这有效:

Node* node = new Node();

1 个答案:

答案 0 :(得分:33)

最有可能的是,您没有包含<new>。您需要使用标准形式的placement-new声明。