C++ 在'之前应为主表达式;int';
我制作了关于链表的代码。但它在“int”之前有一个错误C++ 在'之前应为主表达式;int';,c++,C++,我制作了关于链表的代码。但它在“int”之前有一个错误预期的主表达式 我使用类模板编写代码: #include <iostream> using namespace std; template <class T> class ChainNode{ friend class Chain; public: ChainNode(T paraData=0, ChainNode<T> *paraLink=0):
预期的主表达式
我使用类模板编写代码:
#include <iostream>
using namespace std;
template <class T>
class ChainNode{
friend class Chain;
public:
ChainNode(T paraData=0, ChainNode<T> *paraLink=0):
data(paraData),link(paraLink){
}
private:
T data;
ChainNode<T> *link;
};
template <class T>
class Chain{
public:
Chain(){
first=0;
last=0;
}
void insertBack(T& e){
if(first){
last=last->link= new ChainNode<T>(e, 0);
}else{
first=last=new ChainNode<T>(e, 0);
}
}
private:
ChainNode<T> *first;
ChainNode<T> *last;
};
int main()
{
Chain<int> a;
for(int i=1; i<=5; i++){
a.insertBack<int>(i); // <<at here expected primary-expression before 'int' occurs
}
return 0;
}
#包括
使用名称空间std;
模板
类链节点{
朋友类链;
公众:
ChainNode(T paraData=0,ChainNode*paraLink=0):
数据(paraData)、链路(paraLink){
}
私人:
T数据;
链节点*链接;
};
模板
类链{
公众:
链(){
第一个=0;
last=0;
}
空插回(T&e){
如果(第一){
最后一个=最后一个->链接=新链节点(e,0);
}否则{
第一个=最后一个=新的链节点(e,0);
}
}
私人:
链节点*第一;
链节点*最后;
};
int main()
{
链a;
对于(inti=1;i您不需要给出模板参数
a.insertBack(i);
您不需要给出模板参数
a.insertBack(i);
您不需要给出模板参数
a.insertBack(i);
您不需要给出模板参数
a.insertBack(i);
那么,这是什么意思:a.insertBack(i)
?你试图用这个语法表达什么?为什么你把
放在insertBack
后面?那是我的错……那么,这是什么意思:a.insertBack(i)
?你想用这个语法表达什么?为什么你把
放在insertBack
后面?那是我的错…那么,这是什么意思:a.insertBack(i)
?你试图用这个语法来表达什么?为什么你把
放在插入回
之后?那是我的错…擦除,那是什么意思:a.insertBack(i)
?你试图用这个语法表达什么?为什么你把
放在插入回
之后?那是我的错…擦除