2012-03-02 5 views
-2

부울 함수에서 2 값을 반환하려고하면 int 전에 예상 주 표현식이 발생합니다. 멤버 함수 오류라고 생각합니다.오류 : "int 앞에 기본 예상 표현이 있습니다."

bool binaryTreeTraversal::LeafNode(int node) 
{ 
     return (binaryTreeTraversal::LeftPtr(int node) == NULL && 
     binaryTreeTraversal::RightPtr(int node) == NULL); 

} 

class binaryTreeTraversal 

{ 
public: 
    int TreeNodes[2^5]; 
    int size; 
    binaryTreeTraversal(void); 
    bool LeafNode(int node); 
    int RootNode(int node); 
    int LeftPtr(int node); 
    int RightPtr(int node); 
    int length(); 
    int preOrderTraversal(int); 
    int inOrderTraversal(int); 
    int postOrderTraversal(int); 
}; 

bool binaryTreeTraversal::LeafNode(int node) 
{ 
    return (binaryTreeTraversal::LeftPtr(node) == NULL && 
      binaryTreeTraversal::RightPtr(node) == NULL); 
} 

답변

2

변경 :

return (binaryTreeTraversal::LeftPtr(int node) == NULL && 
     binaryTreeTraversal::RightPtr(int node) == NULL); 

에 :

return (binaryTreeTraversal::LeftPtr(node) == NULL && 
     binaryTreeTraversal::RightPtr(node) == NULL); 

편집 :

LeftPtr()RightPtr()의 반환 형식이 int입니다 :

,262,

나 :

class binaryTreeTraversal 
{ 
public: 
    ... 
    bool LeafNode(int node) 
    { 
     return (!binaryTreeTraversal::LeftPtr(node) && 
       !binaryTreeTraversal::RightPtr(node)); 
    } 
}; 

또는 LeftPtr()RightPtr()로하지 virtual 있습니다

class binaryTreeTraversal 
{ 
public: 
    ... 
    bool LeafNode(int node) 
    { 
     return (!LeftPtr(node) && !RightPtr(node)); 
    } 
}; 
+0

'int'를 제거하면 산술로 사용되는 경고가 NULL입니다. –

+0

'binaryTreeTraversal :: LeftPtr()'의 반환 유형은 무엇입니까? 나는 그것이 포인터가 아닌 것 같아요. 언급 한 바로 그 지점에서 – hmjd

+0

, 그 (binaryTreeTraversal)는 생성자입니다. –

0

리턴 (binaryTreeTraversal :: LeftPtr (INT 노드) == NULL & &
binaryTreeTraversal : : RightPtr (int 노드) == NULL); 난 당신이가는 줄 알았는데 ","예상되는 주요 표현 "의미 :

//

+1

경고를 표시합니다. NULL 산수에서 제거하고 빌드 할 때 사용됩니다. –

0
return (binaryTreeTraversal::LeftPtr(int node) == NULL && binaryTreeTraversal::RightPtr(int node) == NULL); 

return (binaryTreeTraversal::LeftPtr(node) == NULL && binaryTreeTraversal::RightPtr(node) == NULL); 
0
bool binaryTreeTraversal::LeafNode(int node) 
{ 
    return ((LeftPtr(node) == NULL) && (RightPtr(node) == NULL)); 
} 
5

다른 사람에게 도움이 질문을 제작해야 굵은 부분에서 INT를 제거 여기에 표현을 넣으라고. "

표현식은 객체, 함수 호출 또는 객체와 함수 호출에 적용되는 연산자입니다. 예를 들어, x + f(y)은 변수 xy, 함수 f 및 연산자 +과 관련된 표현식입니다.

표현식에는 여러 가지 유형이 있지만이 오류 메시지의 목적에 따라 구분이 중요하지 않습니다.

함수 호출을 나타내는 열기 괄호 뒤에 함수 호출에 매개 변수로 전달할 값을 나타내는 식을 입력해야합니다. 그러나 컴파일러는 변수 또는 함수 나 연산자가 아닌 int이라는 단어를 보았습니다.

+0

나와 공유 한 유용한 정보에 대해 감사드립니다. –

관련 문제