c++ - 使用括号会在声明新节点时出错

标签 c++ compiler-errors binary binary-tree nodes

struct Node{
int data;
bolum *right;
bolum *left;
bolum *up;
};

int main(){
Node *root;
root = new Node(5 , NULL , NULL);
}

此代码给出了这 2 个错误:

new initializer expression list treated as compound expression [-fpermissive]

no matching function for call to 'Node::Node(int)

我该如何解决这个问题?

最佳答案

我不明白您为什么要尝试以这种方式创建对象。 结构也可以有构造函数,但在您的情况下,您的数据是公开的,这意味着您可以从 main 初始化它们。

无论如何,如果你想使用带有一些参数的构造函数,你必须实现一个。这就是您会收到这些错误的原因。

例子:

Node (int data2,Node * p1, Node *p2,Node * p3){
    data = data2;
    right = p1;
    left = p2;
    up = p3;
} 

关于c++ - 使用括号会在声明新节点时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42751617/

相关文章:

C++:Switch 语句与查找表的性能

c++ - Clion 未初始化记录类型 : player

python - 在 C++ 和 Python 代码之间转移控制

在 Ubuntu 11.10 下从源代码编译ettercap 0.7.4.1(链接器错误)

compiler-errors - JFileChooser无法编译

php - 使用Python插入MySQL二进制(8)字段

c - 编写了一个程序来查看二进制数据。我是否正确执行了此操作,或者我收到了垃圾数据?

c++ - whitecards(小写)跳过 PlayerVector 中的其他玩家,但第一个 - 为什么?

Java错误: cannot find symbol Rational()

c++ - 如何检查C++编译器生成的代码?