我有一些非常简单的C++代码来显示问题。我用ctor中的值初始化我的数组。但是当我尝试访问main中的数组时,这些值被替换为随机数。为什么?不保存初始化值的数组
//Example to figure out why initialization values are disappearing
#include <iostream>
struct Struct1
{
float array1[2];
//ctor
Struct1();
};
Struct1::Struct1()
{
float array1[] = {0.2,1.3};
}
int main()
{
Struct1 StructEx;
std::cout<<StructEx.array1[0]<<' ';
std::cout<<StructEx.array1[1]<<std::endl;
return 0;
}
'float array1 [] = {0.2,1.3};'在构造函数中创建一个新的* local *变量'array1'。 – crashmstr
将ctor中的'float'指向成员变量 - 并且在可能的时候更喜欢在ctor主体上使用初始化列表。 –
这是如何得到4 upvotes? :o没有违法行为,但这是有点基本的。 – HolyBlackCat