C++成员数组长度问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 13:29:26
我想把成员数组长度用常量标识符定义,但是这样不行:
class A{
static const int N;
double num[N];
}
哪里错了?应该怎么办?

static在类里声明,定义在类外。再类外加上它的定义。
另外double num[N]; 数组需要在编译时知道它的大小。
你写成这样。编译时不能知道数组的大小。一般new的时候会写成这样。
或者用#define N 10

声明常量必须有初始化。

class A {
static const int N = 10;
double num[N];
}
这样是可以的。如果你是希望通过这个办法在运行阶段确定类的大小,那是不可能的

我试验的结果是,类的成员变量不能直接赋值.要在外边赋值.