синтаксическая ошибка перед 'для' - PullRequest
0 голосов
/ 31 августа 2011

я получил ошибку: «синтаксическая ошибка перед« для »» и я просто не понимаю, почему? Не могли бы вы объяснить, почему это так? У меня есть несколько похожих ошибок в коде.

#define N 1024

 void Reverse_Binary( double *a, unsigned long Len);

int main()
   // here is error as well: error: syntax error before '{' token
{
 //here are different variables for all code

 buf = malloc(num_items*sizeof(double));

 //here are different functions

 Reverse_Binary(buf,N); 
}

void Reverse_Binary( double *a,unsigned long Len)  
{
    long x, xprim;
    int temp;

    for (x=0; x<Len; x++)
    {
         xprim= rev(x,N);   

         if (xprim > x)
         {
             temp = a[x];
             a[x] = a[xprim];
             a[xprim] = temp;s
         }
     }  
}

Ответы [ 3 ]

6 голосов
/ 31 августа 2011

Вы пропустили главную закрывающую скобку.

Поставьте скобку после:

Reverse_Binary(buf,N);

} //that's the missing bracket

Также удалите последнюю скобку после функции Reverse_Binary.

2 голосов
/ 31 августа 2011

Сначала проверьте соответствующие скобки.Когда пропадают скобки, сообщения компилятора кажутся проснувшимися, потому что фрагмент кода выглядит правильно.

1 голос
/ 31 августа 2011

Это выглядит нормально, поэтому у меня единственная идея, что у вас есть невидимые символы CR.Некоторые компиляторы в Unix / Linux не любят файлы, отредактированные в Windows / DOS, которые содержат CR / LF (0x0d, 0x0a) вместо LF (0x0a) в качестве разделителей строк.Попробуйте отредактировать файл с помощью vi, и в конце строки дополнительный CR будет отображаться в виде символов ^ M.

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