2013-08-12 26 views
18

Bağlantılı liste sınıfımda bir sorunla karşı karşıyayım, sınıfın arabirimini ve uygulama dosyalarını oluşturdum, ancak oluşturduğumda bu hata oluşur: "şablonun geçersiz kullanımı argüman listesi olmadan 'LinkedList' adını verin. burada arayüzü dosyasıdır:Bağımsız değişken listesi olmadan şablon adının geçersiz kullanımı

#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 

ve bu benim uygulama kodu: diğer üye fonksiyonları için benzer

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

Ve: Böyle

#include "LinkedList.h" 

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

LinkedList::~LinkedList() 
    { 

    } 
+3

'şablon LinkedList :: LinkedList()' ve başlık – billz

cevap

34

Yaz bunu. Ama başka bir probleme girersiniz - farklı dosyalara bir şablonun can't be separated beyanları ve tanımları.

+0

ben yapmıştım ama dediğiniz gibi, 'NULL' ilanı ile bir hata var olması halinde uygulamak, NULL ilan edilmediğini söylüyor bu kapsam. Bu sorunu nasıl çözebilirim? – Alladin

+0

@Alladinsaoudi NULL, burada listelenen birkaç farklı başlıkta tanımlanmış bir makrodur (http://en.cppreference.com/w/cpp/types/NULL). Kullanmak istediğiniz en az birini eklemeniz gerekecek. – jrok

+0

@jrol teşekkürler bir looooooooooot, gerçekten yardımlarınız için teşekkür ederim. :)))) – Alladin

İlgili konular