Я новичок в символе "->", поэтому вместо этого я заменяю его на (*). , Однако, когда я наткнулся на строку кода ниже, я попытался заменить ее, и она не сработала. Что я делаю не так и есть ли способ переписать это?
Я получаю сообщение об ошибке, что «ключ» является указателем, и когда я переписываю его, он не работает. Я трижды проверил свой код, но все еще не понимаю.
struct Node{
int key;
Node *left;
Node *right;
};
Node* createNode(int key){
Node *node = new Node();
(*node).key = key;
(*node).left = NULL;
(*node).right = NULL;
return node;
}
int main(){
Node *root = createNode(1);
(*root).left = createNode(9);
cout << root->left->key; // Correct?
cout << " OR ";
cout << ((*root).left).(*key);
// this is where my code goes wrong and if I remove the (*) from key
// and just leave it like .key it's wrong because key has to be a pointer
return 0;
}
Я ожидаю, что результат будет "9 ИЛИ 9", но он даже не позволяет мне компилировать после этой точки.