错误:'(类对象)'没有命名类型

时间:2014-12-07 16:29:59

标签: c++

我有一个包含此类定义的头文件:

class visitorlist {
        struct Node {
            visitor vis;
            Node* next;
        };
        Node* head;
        Node* tail;
    public:
        visitorlist() {     //written here to have it as inline.
            head = NULL;
            tail= NULL;
        }
        ~visitorlist();
        int lengthvl();
        void add(const visitor);
        void popandexit();
        void transfer(visitorlist);
        void deletenode(Node*);
        int refiprio();
        int refioffno();
        int refifloor();
        visitor reravi();
        bool isempty();
        Node* rehead();

    };

并且在包含上述标题的源文件中我有:

Node* visitorlist::rehead() {
    return head;
}

这导致error: 'Node' does not name a type。 Node不在函数范围内吗?

1 个答案:

答案 0 :(得分:2)

使用

visitorlist::Node* visitorlist::rehead() {
    return head;
}

或者,从C ++ 11开始:

auto visitorlist::rehead() -> Node* {
    return head;
}