0
나는 매우 심각한 문제가있다. 나는 이진 트리를 가지며 정확한 노드를 발견하는 동안 트리를 통해 이동하려고합니다.노드 충돌을 찾는 기능
template<class T>
void Tree<T>::CheckTwoTimes(Node<T> *node, Node<T> *original)
{
if(node == original) cout << "This is it" << endl;
CheckTwoTimes(node->Left, original); //It gives error here
CheckTwoTimes(node->Right, original);//And maybe it will give it here
}
original
내가 찾고 있어요 노드입니다 :이 코드가 있습니다. 그러나 프로그램을 실행할 때 충돌이 발생하고 어떤 줄이 문제인지를 보여줍니다. 나는 틀린 것을 모른다. 어쩌면 포인터 매개 변수를 전달하지 않아도됩니다.
나는 기능이 방법 전화 : 당신이 리프 노드에받을거야 어떤 시점에서
CheckTwoTimes(root, find); //**find** is for example the most left node
자식이 null 인 경우를 대비하여 아마도 일부 null 검사를 수행해야합니다. Dereferencing null는 에러를 발생시킵니다. 어떤 생각이 든다. 어떤 오류가 발생하고 있습니까? – Borgleader
고마워요. 도움이되었습니다. 나는 보통의 컴파일 에러를 얻지 못했다. Visual Studio 2010을 사용하고 프로그램을 실행하면 충돌이 발생하고 코드 앞에 작은 노란색 화살표가 나타납니다. –