今天遇到比较低端的一个问题,就是成员的初始化问题,编译器也无法验证,不同的编译器有些能过有些不能过,我也不知道为什么,总是我们以vs为准吧,以为我们用的环境就是它,话不多说,解决方案如下:
在类中 static const double PI=3.1416;
error:只有静态常量整型数据成员才可以在类中初始化 常整型静态数据成员可以在类中直接初始化,而常实型静态数据成员不可以 class circle { int a; // 普通变量,不能在类中初始化 static int b; // 静态变量,不能在类中初始化 static const int c=2; // 静态常量,可以在类中初始化 static const double PI=3.1416;//error C2864: 只有静态常量整型数据成员才可以在类中初始化(但在code block上编译是可以通过的,实在无语!!) } ; b可以在类外进行初始化,且所有对象共享一个b的值: int circle::b = 2; 本人cocos2dx 2.x和3.x的源码淘宝地址(欢迎大家光顾):https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.aYDdAj不懂的可以加我的QQ群: 239982941(一起学习cocos2dx)