我在为循环 link 列表编写代码时遇到代码错误
Im having a code error, while doing a code for a circular link list
我在找到我的代码的解决方案时遇到了问题,运行 没问题,但是当我将主要代码编辑为 运行 代码时,某些事情可能发生了变化。所以现在我的代码中出现了这个错误:成员函数 'isEmpty' 的这个参数具有类型 'const CircularLinkedList',但函数未标记为 const
这是代码中出现错误的部分。
//Copy Constructor
template <typename T>
CircularLinkedList<T>::CircularLinkedList(const CircularLinkedList& c1)
{
if (!c1.isEmpty())
{
Node<T>* curr = c1.frst;
//Iterating through elements until we encounter home node again
while (curr->next != first)
{
insert(curr->data);
curr = curr->next;
}
}
}
下面的代码我最初没有在我的主菜单上 运行 代码,但是一旦我把它放在上面,错误就会弹出。我不确定这是否与它有关。但作为参考,这里是我添加的代码。我在这段代码之前没有任何错误。
int printMenu();
// InsertList inserts an item into the list parameter
void insertListItem ( CircularLinkedList<int> & );
// deletes the first occurrence from the list parameter
void deleteOne ( CircularLinkedList<int> & );
// deletes all the occurrence from list parameter
void deleteAll ( CircularLinkedList<int> & );
//return the length of the list
int totalCount( CircularLinkedList<int> & );
// searchItem searches for an item in the list parameter
void searchItem ( CircularLinkedList<int> );
// return the number of occurrences of a given item
int totalOccurence (CircularLinkedList<int> & );
错误是self-explanatory:在你的CircularLinkedList<T>::CircularLinkedList
复制构造函数中,参数被标记为const
。
您只能使用其定义为const
的方法。因此,将您的 isEmpty
定义更改为
bool isEmpty() const {...}
毕竟,检查列表是否为空不应修改该列表。
我在找到我的代码的解决方案时遇到了问题,运行 没问题,但是当我将主要代码编辑为 运行 代码时,某些事情可能发生了变化。所以现在我的代码中出现了这个错误:成员函数 'isEmpty' 的这个参数具有类型 'const CircularLinkedList',但函数未标记为 const
这是代码中出现错误的部分。
//Copy Constructor
template <typename T>
CircularLinkedList<T>::CircularLinkedList(const CircularLinkedList& c1)
{
if (!c1.isEmpty())
{
Node<T>* curr = c1.frst;
//Iterating through elements until we encounter home node again
while (curr->next != first)
{
insert(curr->data);
curr = curr->next;
}
}
}
下面的代码我最初没有在我的主菜单上 运行 代码,但是一旦我把它放在上面,错误就会弹出。我不确定这是否与它有关。但作为参考,这里是我添加的代码。我在这段代码之前没有任何错误。
int printMenu();
// InsertList inserts an item into the list parameter
void insertListItem ( CircularLinkedList<int> & );
// deletes the first occurrence from the list parameter
void deleteOne ( CircularLinkedList<int> & );
// deletes all the occurrence from list parameter
void deleteAll ( CircularLinkedList<int> & );
//return the length of the list
int totalCount( CircularLinkedList<int> & );
// searchItem searches for an item in the list parameter
void searchItem ( CircularLinkedList<int> );
// return the number of occurrences of a given item
int totalOccurence (CircularLinkedList<int> & );
错误是self-explanatory:在你的CircularLinkedList<T>::CircularLinkedList
复制构造函数中,参数被标记为const
。
您只能使用其定义为const
的方法。因此,将您的 isEmpty
定义更改为
bool isEmpty() const {...}
毕竟,检查列表是否为空不应修改该列表。