2013-08-12 2 views
18

연결된 링크 클래스에 문제가 있습니다. 클래스의 인터페이스 및 구현 파일을 만들었지 만 빌드 할 때 다음과 같은 오류가 발생합니다. "잘못된 템플릿 사용 name 'LinkedList'에 인수 목록이 없습니다. " 여기 내 인터페이스 파일입니다 :인수 목록없이 템플릿 이름을 사용할 수 없습니다.

#ifndef LINKEDLIST_H 
#define LINKEDLIST_H 

template <typename T> 
struct Node{ 
    T info; 
    Node<T> *next; 
}; 

template <typename T> 
class LinkedList 
{ 
    Node<T> *start; 
    Node<T> *current; 
public: 
    LinkedList(); 
    ~LinkedList(); 
}; 

#endif // LINKEDLIST_H 

이 내 구현 코드입니다 : 다른 멤버 함수에 대한 유사

template<typename T> 
LinkedList<T>::LinkedList() 
{ 
    start = nullptr; 
    current = nullptr; 
} 

그리고이 같은

#include "LinkedList.h" 

LinkedList::LinkedList() 
{ 
    start = nullptr; 
    current = nullptr; 
} 

LinkedList::~LinkedList() 
    { 

    } 
+3

'템플릿 LinkedList의 :: LinkedList의()'와 헤더 – billz

답변

34

쓰기를. 그러나 다른 파일에 템플릿 can't be separated의 선언과 정의라는 다른 문제가 발생할 것입니다.

+0

내가 일을하지만, 당신이 말한대로, 'NULL'의 선언에 오류가있다 그것을 구현, 그것은 NULL이 선언되지 않았 음을 말한다 이 범위. 이 문제를 어떻게 해결할 수 있습니까 ?? – Alladin

+0

@Alladinsaoudi NULL은 [여기] (http://en.cppreference.com/w/cpp/types/NULL)에 나열된 여러 헤더에 정의 된 매크로입니다. 당신은 그것을 사용하고 싶은 곳에 적어도 하나를 포함시켜야 할 것입니다. – jrok

+0

@jrol 감사합니다 looooooooooot, 정말 당신의 도움에 감사드립니다. :))))))) – Alladin

관련 문제