2013-10-05 78 views
0

所以我想找到一個替代我在這裏做什麼,因爲它在結構中使用零大小的數組是非法的。什麼代碼可以完成幾乎相同的任務?替代零大小結構

你可以看到我基本上試圖做的是創建一個具有四條邊的動畫對象的結構。

struct Sprite 
{ 
    double x; 
    double y; 
    int textureFront[]; 
    int textureBack[]; 
    int textureRight[]; 
    int textureLeft[]; 
}; 

int boxAnimation[7] = {10,5,6,2,76,8,4}; 

Sprite sprite[8] = 
{ 
    {20.5, 11.5, {10}}, 
    {18.5, 4.5, boxAnimation}, 
    {10.0, 4.5, {10}}, 
    {10.0, 12.5, {10}}, 
    {3.5, 6.5, {10}}, 
    {3.5, 20.5, {10}}, 
    {3.5, 14.5, {10}}, 
    {14.5, 20.5, {10}}, 
}; 

只有textureFront被分配在這些例子中。

+3

那麼你想要的是一個指針? – kfsone

+5

如果您有特定的大小,只需使用'std :: array',否則使用'std :: vector'。 – chris

+2

@kfsone,我不瞭解你,但如果我是這個班的使用者,我將不必爲每一個人手動管理內存。 – chris

回答

0

嘗試編寫一個構造函數,該構造函數將接受您傳遞的三個參數,然後在內部使其餘三個剩餘字段爲空或您想要的任何其他邏輯。