我有头文件:
#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' "
这个错误很混乱..我想这不是';' 这是缺少的,但可能是我无法用手指代码的其他错误..
问题在于这个定义
VIPType VIPTicket::getTicketType() const
{
...
}
Run Code Online (Sandbox Code Playgroud)
定义此函数时,您必须记住它VIPType不在全局范围内,而是在VIPTicket类的范围内,因此您必须明确提及范围:
VIPTicket::VIPType VIPTicket::getTicketType() const
{
...
}
Run Code Online (Sandbox Code Playgroud)