c++数组初始化器.使用enum类型

C++ array initializer. Using enum type

本文关键字:enum 类型 使用 数组 初始化 c++      更新时间:2023-10-16
class ARouter {
    enum directions {north, neast, east, seast, south, swest, west, nwest};
    static directions gon[] = {north, neast, nwest, east, west, seast, swest, south};
};

嗨,有人知道上面的代码是什么问题吗?

我从vc++ 2008Ex的第二行得到2个错误:

错误C2059:语法错误:'{'

错误C2334:在'{'之前的意外token(s);跳过显函数体

不能在类中这样定义变量

应该是这样的:

class ARouter {
    enum directions {north, neast, east, seast, south, swest, west, nwest};
    static directions gon[];
};
ARouter::directions ARouter::gon[] = {north, neast, nwest, east, west, seast, swest, south};
声明放在类体中;定义位于外部。请注意,您通常会将类体放在头文件中,而将定义放在源文件中。