1
意外的錯誤,我寫一個函數來複制模板二叉樹。到目前爲止,我有這樣的:,我似乎無法修復
template <typename Item, typename Key>
Node* BSTree<Item,Key>::copy(Node* root) {
if(root == NULL) return NULL;
Node* left;
Node* right;
Node* to_return;
left = copy(root->left());
right = copy(root->right());
to_return = new Node(root->data());
to_return->left() = left;
to_return->right() = right;
return to_return;
}
但是,當我試圖編譯程序時,我得到我無法弄清楚如何解決多個錯誤。所有這些都發生在模板聲明之後的行中。
1)錯誤C2143:語法錯誤:缺少 ';'之前 '*'
2)錯誤C4430:缺少類型說明 - INT假定
3)錯誤C2065:項「:未聲明的標識符
4)錯誤C2065:密鑰':未聲明的標識符
在程序中我所有的其他功能都能正確編譯,並且對模板沒有任何問題,所以我不確定爲什麼這個功能會這樣。它已經在頭文件中聲明,並且肯定有一個返回類型分配給它,所以我很難過。
太謝謝你了!這正是問題所在! –
@BrandonBosso剛剛意識到參數在範圍之內,所以我更新了代碼以防萬一您錯過了它。 – Pubby