2011-12-26 3 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

Мне очень стыдно, что я пропустил это. Спасибо! –

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

ture, теперь он исправлен. –

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

+0

Конечно, мой код находится в классе. Я просто копировал/вставлял соответствующий бит. –

+1

уверенный, это непонятно из вашего вопроса. Спасибо за разъяснения. – Adam

Смежные вопросы