C++错误C2143语法错误:缺少';' 在函数名之前

Ada*_*dam 3 c++ syntax-error

我有头文件:

#ifndef VIP_TICKET_H
#define VIP_TICKET_H

#include "ticket.h"

class VIPTicket : public Ticket
{
public:
    enum VIPType { FIRST_CLASS, FAST_LINE };

    VIPType getTicketType() const;

private:
    VIPType type;
};
#endif
Run Code Online (Sandbox Code Playgroud)

它是cpp文件

#include "vipTicket.h"

VIPType VIPTicket::getTicketType() const
{
    return type;
}
Run Code Online (Sandbox Code Playgroud)

错误说" 错误C2143:语法错误:缺少';' 前'VIPTicket :: getTicketType' "

这个错误很混乱..我想这不是';' 这是缺少的,但可能是我无法用手指代码的其他错误..

Som*_*ude 7

问题在于这个定义

VIPType VIPTicket::getTicketType() const
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

定义此函数时,您必须记住它VIPType不在全局范围内,而是在VIPTicket类的范围内,因此您必须明确提及范围:

VIPTicket::VIPType VIPTicket::getTicketType() const
{
    ...
}
Run Code Online (Sandbox Code Playgroud)