使用括号会在声明新节点时会产生错误
using parenthesis gives error while declaring new Node
struct Node{
int data;
bolum *right;
bolum *left;
bolum *up;
};
int main(){
Node *root;
root = new Node(5 , NULL , NULL);
}
此代码给出了这两个错误:
新的初始化器表达式列表被视为复合表达式 [-fpermissive]
无匹配的函数呼叫'node :: node(int)
如何解决此问题?
我看不出您为什么要以这种方式创建一个对象。结构也可以具有构造函数,但是在您的情况下,您的数据是公开的,这意味着您可以从主开始初始化它们。
无论如何,如果要使用具有某些参数的构造函数,则必须实现一个参数。这就是为什么您会遇到这些错误。
示例:
Node (int data2,Node * p1, Node *p2,Node * p3){
data = data2;
right = p1;
left = p2;
up = p3;
}
Node *root;
root = new Node;
*root={5 , NULL , NULL,NULL};
可能会有所帮助
也可以使用新构造函数中的整形初始化列表:
Node (int data2,Node * p1, Node *p2,Node * p3): data(data2),right(p1),left(p2),up(p3){}
相关文章:
- 删除链表中的节点 - 分段错误
- C++错误(从不兼容的类型"void"分配给树节点*)
- 节点 API 抛出自己的错误消息,而不是自己的错误消息
- 树节点之间的最大距离中的运行时错误
- V8 - 节点C++插件 - 在构造函数中引发异常会导致"致命错误:v8::ToLocalChecked Em
- 在BST堆中删除节点免错误
- 解析序列/映射节点时出现无效的 yaml 节点错误
- 节点C++源代码编译错误
- 错误:无法从节点*转换为节点 c++?
- 节点插件编译错误
- 当我将字符串放入节点>名称时,为什么会出现分段错误(核心转储)?
- 分段错误,同时减去链表的 2 个连续节点
- 在 BST 中插入节点时出现逻辑错误
- 当我返回节点*时,C++中出现未知类型错误
- 插件中节点.js/Nan 回调C++不频繁的隔离错误
- YAML-CPP 节点诊断有意义的错误
- 使用括号会在声明新节点时会产生错误
- C++为什么创建一个新节点来删除堆栈上的节点是错误的
- 在链表运行时插入节点错误
- 无法在 Borland C++ 中将'void*'转换为 *poly 节点错误