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


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};
声明放在类体中;定义位于外部。请注意,您通常会将类体放在头文件中,而将定义放在源文件中。

最新更新