我有一些非常簡單的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