【发布时间】:2013-11-11 23:40:40
【问题描述】:
我有以下类声明(我已尝试删除尽可能多的多余代码):
class List {
public:
struct Node {
int value;
};
Node * findNode(unsigned int) {
return new Node;
}
};
这没有错误。但是,一旦我在类之外定义了函数“findNode”,就会出现错误;这是代码:
class List {
public:
struct Node {
int value;
};
Node * findNode(unsigned int);
};
Node * List::findNode(unsigned int index) {
return new Node;
}
现在,在运行代码时,我收到一条错误消息“LinkedList.cpp:9:1: error: 'Node' does not name a type”。
如果能帮我确定问题,我将不胜感激。
【问题讨论】:
-
另外,如果这是一个头文件,你需要在类外的定义上使用
inline。否则,一旦两个源文件包含相同的标头,您就会收到链接错误。
标签: c++ function debugging object