Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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++11_Visual Studio 2015 - Fatal编程技术网

C++ 从非静态成员初始化静态数据成员

C++ 从非静态成员初始化静态数据成员,c++,c++11,visual-studio-2015,C++,C++11,Visual Studio 2015,我正在尝试从非静态变量的sizeof初始化静态成员变量: class Myclass { int a; static const int b = sizeof(a); }; 这在c++11中应该是合法的,对吗?它给了我编译器错误C2327(“a不是类型名,不是静态的,也没有枚举数”) 编译器是Visual Studio 2015 Express。这显然是VC++中的一个错误,如在19.00.23506中,sizeof(Myclass::a)不起作用。这似乎已在版本19.00.235

我正在尝试从非静态变量的sizeof初始化静态成员变量:

class Myclass
{
   int a;
   static const int b = sizeof(a);
};
这在c++11中应该是合法的,对吗?它给了我编译器错误C2327(“a不是类型名,不是静态的,也没有枚举数”)


编译器是Visual Studio 2015 Express。

这显然是VC++中的一个错误,如在19.00.23506中,
sizeof(Myclass::a)
不起作用。这似乎已在版本19.00.23506(联机试用)和19.00.23720.0(联机试用)之间修复。您可以尝试报告或下载新版本的IDE/编译器


尽管如此,我还是会报告一个bug,因为嵌套的名称说明符不应该是必需的。

sizeof(Myclass::a)
应该可以解决您的问题。@Jarod42 Er.您尝试过吗?是您的朋友。虽然它在中运行,但看起来已经修复。您能推荐我一个可以在短时间内实现的解决方法吗?Visual Studio Express 2015是否有超过版本14.0.50616.0的更新?我无法使用社区版进行授权rea儿子们。