ここで、テストケースをグローバル変数として初期化しました。
void InsertNode(BSTNode* &t, const int &key) {
if (t == NULL) {
t = new BSTNode;
t->key = key;
t->left = t->right = NULL;
} else {
if (key != t->key) {
if (key < t->key)
InsertNode(t->left, key);
else
InsertNode(t->right, key);
}
}
}
BSTNode t1[] = {
{4, &t1[1], &t1[2]},
{2, &t1[3], &t1[4]},
{6, &t1[5], &t1[6]},
{1, NULL, NULL},
{3, NULL, NULL},
{5, NULL, NULL},
{7, NULL, NULL}
};
int main() {
InsertNode(t1, 0);
return 0;
}
ただし、t1を変更しようとすると、エラーが発生します。
invalid initialization of non-const reference of type 'BSTNode*&' from a temporary of type 'BSTNode*'
誰かが私のためにこれを説明できますか?ありがとうございました!!