Нелегальная прямая ссылка - PullRequest
4 голосов
/ 03 апреля 2010

При попытке объявить статический массив в моей программе я получаю статическую ошибку прямой ссылки, я не уверен, что я делаю здесь неправильно ...

static Square fieldGrid [ ] [ ] = new Square [ ROWSIZE ] [ COLSIZE ]; 

это то, что я использую.

Ответы [ 4 ]

3 голосов
/ 03 апреля 2010

Предпочтительный синтаксис:

 static Square[][] fieldGrid = new Square [ ROWSIZE ] [ COLSIZE ];

Кроме того, вы объявили и инициализировали ROWSIZE и COLSIZE к тому времени, когда вы делаете это заявление?

2 голосов
/ 03 апреля 2010

Ваши поля ROWSIZE и COLSIZE должны быть инициализированы, прежде чем они будут использованы для создания вашего массива Square. Спецификация языка Java указывает, почему действует это ограничение :

Эти ограничения предназначены для перехвата во время компиляции циклической или иным образом искаженной инициализации.

1 голос
/ 03 апреля 2010

Я предполагаю, что ROWSIZE и COLSIZE являются статическими конечными целыми числами, и они объявляются после объявления массива Измените порядок (сначала объявите и инициализируйте ROWSIZE и COLSIZE), а затем используйте их.

1 голос
/ 03 апреля 2010

Объявляются и инициализируются ли размеры строк и столбцы перед этой строкой? Поскольку они статичны, я думаю, что порядок объявления имеет значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...