char数组作为类变量成员应该怎么初始化???
现在我要定义一个char数组,定义为全局变量比较方便,如下:
char g_Array[10] = {25, 0, -64, 2, 64, 2, 21, 0, 1, 0};
现在我希望把它定义成类数据成员,该如何定义并初始化???
public: char m_Arrray[10];构造函数:{ //如何初始化???}
public: const char m_Arrray[10];构造函数:{ //如何初始化???}
#include <iostream>#include <cstring>using namespace std;class A{public: static char st[4];};char A::st[4] = {25, 26, 27, 28};int main(){ A a; return 0;}
[解决办法]
public:
const char m_Arrray[10];
编译不过吧
好像C++中无法将变量定义为常量数组。
[解决办法]
既然不是初始化为一个样子的,char g_Array[10] = {25, 0, -64, 2, 64, 2, 21, 0, 1, 0};这样和你挨个赋值有什么区别?
[解决办法]
你的这个不希望和类实例相关,可以定义为 static
struct C{ C() { } static const int a[10];};const int C::a[10] = { 1, 2, 3, 4 };
[解决办法]
那就没有办法了,如果有规律的话还可以想象办法,否则只能一个一个赋值