声明后初始化类外的数组
Posted
技术标签:
【中文标题】声明后初始化类外的数组【英文标题】:Initializing an array outside class after declaration 【发布时间】:2017-08-13 18:27:13 【问题描述】:例如:
const int m = 10;
class C
public:
double A[m];
;
int main()
C name;
name.A[m] = ... // initializing here?
我找不到解决办法,例如我可以这样做
C name = ...;
这完全可以工作,但为了功能,我想知道我是否可以为类中的单个变量做到这一点。
【问题讨论】:
除了循环之外别无他法。 在 main 的第二行。你不再初始化了。name.A[m] = <something>
将调用 UB
【参考方案1】:
在你的例子中,你只需要写:
name.A[x]=value;
其中value
是double
,x
介于 0 和 9 之间。如果您希望为其所有或部分元素设置值,也可以创建一个循环。
【讨论】:
以上是关于声明后初始化类外的数组的主要内容,如果未能解决你的问题,请参考以下文章