1
我並不擅長使用模板,但我不確定爲什麼我要在類SNode
的定義中獲得error: 'SLinked_List' is not a class template: friend class SLinked_List<T>;
。這段代碼有什麼問題?如何清除錯誤:X不是類模板
謝謝 Pranav
#include <iostream>
#include <string>
template <typename T>
class SNode{
friend class SLinked_List<T>;
private:
T data;
SNode<T>* next;
};
template <typename T>
class SLinked_List{
private:
SNode<T>* head;
public:
SLinked_List(){
head = nullptr;
}
bool empty() const { return head == nullptr; }
void insert_first (const T&);
};
template <typename T>
void SLinked_List<T> :: insert_first (const T& t){
SNode<T>* node = new SNode<T>;
node->data = t;
node->next = head;
head = node;
}
int main(){
SLinked_List<std::string> ls;
ls.insert_first("Hello");
return 0;
}
哦,那我不知道!感謝@ 0x499602D2輸入。 :) – Pranav