Почему это не компилируется в C18? - PullRequest
2 голосов
/ 19 октября 2010

Я пытаюсь скомпилировать следующий код, используя компилятор MPLAB C18 v3.36.

Компилятор возвращает синтаксическую ошибку в 'char rij;'. Но когда я положу чар ридж; строка ранее (до TRISA = ...), она компилируется ...

void setup(void)
{
 TRISD = 0b00000000;
 TRISA = 0b00000000;
 char rij;
 for (rij = 0; rij<ROWS; rij++)
 {
 red_byte_array[rij]=0;
 green_byte_array[rij]=0;
 blue_byte_array[rij]=0;
 }    
}

1 Ответ

8 голосов
/ 19 октября 2010

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

...