-1
我試圖讓NULL或nullptr工作在C++中。空檢查C + +
說我正在做一個二叉樹的序遍歷,就像這樣:
template <class DataType>
void printInorder(someNode<DataType>* node)
{
if (node == NULL)
return;
/* first recur on left child */
printInorder(node->left);
/* then print the data of node */
printf("%d ", node->data);
/* now recur on right child */
printInorder(node->right);
}
我已經嘗試設置如果(節點== NULL)到如果(節點== nullptr)。我也試過,如果(!節點),但空檢查線不斷忽略和傳遞。
我的代碼有點太長,不能包含更多內容,但是您是否會知道導致此類錯誤的任何常見原因?我在C++中並沒有非常使用null,但它似乎是一個相對常見的錯誤。這就是說,我一直無法在SO上找到這個問題的答案。
你確定變量爲空嗎? – Barmar
在向別人求助的同時禮貌的一部分,是將你的長代碼並減少到[mcve]。如果檢查被跳過,那麼這可能是一個採用'int *'的函數,如果它爲空則返回1,如果不爲空則返回0,然後向我們展示給出null時返回0,或直接打印不同的東西在任何情況下,只要我們可以運行並看到。 – chris
您顯示的代碼是正確的。錯誤在別的地方。 –