Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;数组初始值设定项。使用枚举类型_C++_Arrays_Enums_Initializer - Fatal编程技术网

C++ C++;数组初始值设定项。使用枚举类型

C++ C++;数组初始值设定项。使用枚举类型,c++,arrays,enums,initializer,C++,Arrays,Enums,Initializer,嗨,有人知道上面的代码是怎么回事吗 我在VC++2008Ex的第二行中遇到了两个错误: 错误C2059:语法错误:“{” 错误C2334:在“{”之前出现意外的标记;跳过明显的函数体 不能在这样的类中定义变量 它需要类似于: class ARouter { enum directions {north, neast, east, seast, south, swest, west, nwest}; static directions gon[] = {north, neast,

嗨,有人知道上面的代码是怎么回事吗

我在VC++2008Ex的第二行中遇到了两个错误:

错误C2059:语法错误:“{”

错误C2334:在“{”之前出现意外的标记;跳过明显的函数体


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

它需要类似于:

class ARouter {
    enum directions {north, neast, east, seast, south, swest, west, nwest};
    static directions gon[] = {north, neast, nwest, east, west, seast, swest, south};
};

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

这些行没有问题。您可能在文件的后面有语法错误,这导致编译器变得混乱。或者您正在定义变量在某个地方无效,比如在类主体内。发布更多代码,它在我这边编译。很好,没有问题;你的代码在g++4中运行良好。你确定吗?为了完整性,我只是将它括在一个小类中。我没有真正更改任何其他内容来打破它。我将取出这些行并重试。brb.Back.no,这些行是def在这种情况下,笔名“class variable”误导了我。
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};