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

Ser*_*rov 16 c++ placement-new

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

但是,我继续得到错误:

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

这是我的代码:

char * p = new char [sizeof(Node) * 5];
Node* node = new(p) Node();
Run Code Online (Sandbox Code Playgroud)

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

char *buf  = new char[sizeof(int)]; // pre-allocated buffer
int *p = new (buf) int;
Run Code Online (Sandbox Code Playgroud)

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

任何帮助是极大的赞赏!

PS,这个有效:

Node* node = new Node();
Run Code Online (Sandbox Code Playgroud)

Mik*_*our 34

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