
不知道出了什么問題,任何想法和答案都會有所幫助。當沒有任何錯誤時,編譯器會顯示錯誤。
#include<iostream>
using namespace std;
class Node{
public:
Node * left;
Node * right;
int value;
Node(int v) : value(v), left(nullptr),right(nullptr) {};
void setLeft(Node&n){
left = &n;
}
void setRight(Node&n){
left = &n;
}
private:
};
int main()
{
Node a(10);
Node b(20);
Node c(30);
a.setLeft(b);
a.setRight(c);
cout << a.value << endl << a.left->value << endl << a.right->value << endl << "If you read this I am working correctly!" << endl;
return 0;
}
如果您認為我錯了,請親自嘗試代碼,但我不是。即使現在使用設定器 .setRight 和 .setLeft 我仍然會遇到相同的錯誤。
uj5u.com熱心網友回復:
left并且right是類的變數,稱為Node:
Node * left;
Node * Right;
您將變數用作函式,這會導致錯誤。
要解決錯誤,請使用:
第 30a.setLeft(b);
行 第 31 行a.setRight(c);
此外,在第 18 行,您嘗試 setRight() 但您更改了left. 一定是right = &n。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/532445.html
標籤:C 视觉工作室代码
