2011-09-29 4 views
1

이 코드는 GNU gcc 컴파일러를 사용하여 컴파일되지만 Visual Studio 2008을 사용하는 경우에는 컴파일되지 않습니다.이 코드가 MS 컴파일러를 사용하여 컴파일되지 않는 이유는 무엇입니까?

오류 sas : "오류 C2143 : 구문 오류 : 누락되었습니다 ';' '*'

Arbol ::은 있소 *가 + GNU GCC 컴파일러를 codeblocks를 사용하여 컴파일하면 작품을 좋아 Arbol 내부 클래스에 대한 포인터입니다.

template <class T> 
Arbol<T>::Nodo<T>* Arbol<T>::Alta(Nodo<T>* &nodo,const T d) /////this line is highlited 
{ 
    return nodo; 
} 

내가 그 코드를 밖으로 가지고가는 경우에 그것은, 이상한 및 이전 다시 컴파일, 그것은 아래 세 가지 기능을 뛰어 는 typename 추가

template<class T> 
Arbol<T>::Nodo<T>* Arbol<T>::BuscarDevolver(const T t) 
{ 
    Nodo<T>* nodo = new Nodo<T>; 
    return nodo; 
} 
+0

두 번째 예는 typo입니까? 노도? – kenny

+0

을 방금 수정했습니다. – HoNgOuRu

답변

3

이 기능과 같은 오류가 발생합니다 :

,

템플릿에 명시 적으로 입력 한 정규화 된 이름을 표시해야합니다.

+0

오류가 사라지고, 시도해 보겠습니다. – HoNgOuRu

+0

은 시각적 인 스튜디오 것입니까? – HoNgOuRu

+0

@HoNgOuRu, 이것은 C++입니다. – MSN

관련 문제