我是一名在课堂上使用c ++的学生。我确实在其他三个问题中看到了这个错误,但是,它们都是通过在硬编码数字前添加基本算术符号来解决的。由于我不做算术,我认为他们不会在这里帮助我。
对于我们的任务,我们必须解析参考书目并将结果条目存储到条目的链接列表中。为此,我们使用的书有一个链表类,但它有错误。我无法弄清楚的错误集之一是:
违规行在模板标题中,我的问题是我该怎么做才能解决这个问题? 代码可以在这里找到:
template <class DataType>
class LinkedList : public AbstractLinkedList<DataType>{
protected:
DataType* _info;
LinkedList<DataType>* _next;
void copy(const LinkedList<DataType>& 11); //first offending line
public:
LinkedList();
LinkedList(const LinkedList<DataType>& ll);
LinkedList(const DataType& info);
LinkedList(const DataType& info, LinkedList<DataType>* next);
~LinkedList();
};
template <class DataType>
void LinkedList<DataType>::copy(const LinkedList<DataType>& 11){ //second offending line
if(ll._info == NULL){
_info = NULL;
} else {
_info = new DataType(*(ll._info));
if(_info == NULL){
throw LinkedListMemory();
}
}
if(ll._next == NULL){
_next = NULL;
} else {
_next = new LinkedList<DataType>(*(ll._next));
if(_next == NULL){
throw LinkedListMemory();
}
}
}
我跳过不会导致错误的部分
我尝试的事情:
这一切都没有解决问题,我的理解是没有&#34; LinkedList&#39;&lt;&#39; DataType&gt;&amp;&#34;它无法真正用于模板形式。
答案 0 :(得分:5)
11
(第一,两次)不是有效的变量名;标识符必须以字母或下划线开头。
你可能意味着ll
(字母“l”,两次,可以代表“链表”)。在某些字体中,很难区分l
和1
。
答案 1 :(得分:0)
变量名不能以数字开头,因为一串数字将是有效的标识符和有效数字。