3
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:“{”之前的意外标记;跳过明显的函数体

4

1 回答 1

5

您不能在这样的类中定义变量。

它需要是这样的:

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};

声明进入类主体;定义存在于外部。请注意,您通常会将类主体放在标头中,并将定义放在源文件中。

于 2011-08-07T19:23:08.237 回答