2010-04-18 127 views
0

我正在寫一個應用程序在Visual Studio C++中,我有問題的值分配給數組的元素,它是結構類型的元素的數組。編譯器報告代碼的分配部分的語法錯誤。是否有可能分配結構類型的數組元素?結構類型的元素數組的問題

typedef struct { 
    CString x; 
    double y; 
} Point; 


Point p[3]; 
p[0] = {"first", 10.0}; 
p[1] = {"second", 20.0}; 
p[2] = {"third", 30.0}; 

回答

5

給你的結構構造:

struct Point { 
    CString x; 
    double y; 
    Point(const CString & s = "" , double ay = 0.0) : x(s), y(ay) {} 
}; 

那麼你可以說:

Point p[3]; 
p[0] = Point("first", 10.0); 
1

你不能設置你的數據以這種方式。而是寫:

p[0].x = "first": p[0].y = 10.0; 
... 
4

您可以使用初始化在聲明數組的時候:

struct Point{ 
    CString x; 
    double y; 
}; 

Point p[3] = { 
    {CString("first"), 10.0}, 
    {CString("second"), 20.0}, 
    {CString("third"), 30.0} 
}; 

但不分配。

+0

我的壞。測試時我犯了一個錯誤。 – Yacoby 2010-04-18 12:24:22