C++ 预期的非限定id错误,最可能的原因是什么?
我得到以下错误: ListIterator.cpp:6:错误:“使用”前应为非限定id make:[ListIterator.o]错误1 编译链表程序时。你知道最可能的原因是什么吗?在IntNode.h/.cpp文件中,这不应该是基于作用域的问题C++ 预期的非限定id错误,最可能的原因是什么?,c++,C++,我得到以下错误: ListIterator.cpp:6:错误:“使用”前应为非限定id make:[ListIterator.o]错误1 编译链表程序时。你知道最可能的原因是什么吗?在IntNode.h/.cpp文件中,这不应该是基于作用域的问题 // ListIterator.h #include "IntNode.h" //#include "nullptr.cpp" class ListIterator { private: IntNode* pointer;
// ListIterator.h
#include "IntNode.h"
//#include "nullptr.cpp"
class ListIterator {
private:
IntNode* pointer;
public:
ListIterator( IntNode* );
int& operator*();
ListIterator& operator++();
bool operator!=( ListIterator liter );
}
// ListIterator.cpp
#include "ListIterator.h"
//#include "nullptr.cpp"
using namespace std;
ListIterator :: ListIterator( IntNode* init = nullptr ) : pointer( init ) {};
int& ListIterator :: operator*() {
return pointer -> getInt();
};
ListIterator& ListIterator :: operator++() {
pointer = pointer -> getNext();
};
bool ListIterator :: operator!=( ListIterator liter ) {
return pointer != liter.pointer;
};
您在结尾忘记了“;”您在类定义之后忘记了一个分号。并且您不需要在源文件中的函数定义之后使用分号。他们不会受伤,但他们也不会做任何事。@staxas顺便说一句,请按答案下方的“v”接受答案
// ListIterator.h
#include "IntNode.h"
//#include "nullptr.cpp"
class ListIterator {
private:
IntNode* pointer;
public:
ListIterator( IntNode* );
int& operator*();
ListIterator& operator++();
bool operator!=( ListIterator liter );
};