我有一个单链表实现,如下所示:
标题
class SinglyLinkedList
{
struct Node
{
Node * _pNext;
int _data;
};
public:
Node * SomeFun(Node * ip1, Node * ip2);
// Some more methods here
};
现在在实现此类的方法之一时
CPP
Node * SinglyLinkedList::SomeFun(Node * ip1, Node * ip2)
{
//Some code and return
}
我不理解的奇怪行为是,编译时,编译器拒绝识别返回类型中的“Node”类型,除非我将其指定为 SinglyLinkedList::Node。但是在没有明确指定的情况下识别出相同的函数参数类型。理想情况下,我觉得在这两种情况下都不需要明确指定,因为 Node 是在同一个类中定义的。任何人都可以对此有所了解吗?