-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
您显示的代码是正确的。错误在别的地方。 –