由于某些原因,我似乎无法将我的展示位置新工作。基于这个问题,我已经设置了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();
答案 0 :(得分:33)
最有可能的是,您没有包含<new>
。您需要使用标准形式的placement-new声明。