2011-12-26 86 views
3

我有以下代碼:陣列結構的返回錯誤

static int gridX = 40; 
static int gridY = 40; 

public struct CubeStruct 
{ 
    public Transform cube; 
    public bool alive; 
    public Color color; 
} 

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY]; 

這將返回以下錯誤:

錯誤CS1519:意外符號',」在類,結構或接口 構件聲明

錯誤CS0178:無效的秩說明符:預計,' or]」

錯誤CS1519:意外符號`;'在類,結構或接口中 成員聲明

這可能是顯而易見的,但我看不到它。

回答

5

在C#中,[,]在變量的名稱之前(即,它不像在C/C++中)。

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY]; 
+0

我很慚愧,我錯過了它..謝謝! – 2011-12-26 12:23:51

5
public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY]; 

應該是:

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY]; 
2

變化:

public CubeStruct cubeArray[,] = new CubeStruct[gridX, gridY]; 

到:

public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY]; 
+0

,現在它已經修復了。 – 2011-12-26 12:27:14

3

在C#中,沒有任何東西可以在類型之外浮動。所以你需要這樣做:
另外請注意,[,]在類型之後,而不是在標識符之後。

public class GridMain 
{ 
    static int gridX = 40; 
    static int gridY = 40; 
    public CubeStruct[,] cubeArray = new CubeStruct[gridX, gridY]; 

} 

public struct CubeStruct 
{ 
    public Transform cube; 
    public bool alive; 
    public Color color; 
} 
+0

+1的解釋:) – TheBoyan 2011-12-26 12:24:50

+0

當然,我的代碼是在一個類。我只是複製/粘貼相關位。 – 2011-12-26 12:25:07

+1

當然,這是不明確的你的問題。感謝澄清。 – Adam 2011-12-26 12:25:30