ошибка: начальные объявления цикла «for» разрешены только в режиме C99 [дубликаты]

Если существует точное соответствие между количеством и типами аргументов, указанными в вызове метода, и сигнатурой метода перегруженного метода, то это метод, который будет вызываться. Вы используете ссылки на объекты, поэтому java решает во время компиляции, что для параметра Object существует метод, который принимает непосредственно Object. Так он назвал этот метод 3 раза.

17
задан Mathemats 30 March 2015 в 05:00
поделиться

4 ответа

Это происходит потому, что объявление переменных внутри цикла for было недействительным C до C99 (что является стандартом C, опубликованным в 1999 году), вы можете либо объявить свой счетчик вне for, как указано другими, либо использовать -std = флаг c99, чтобы явно указать компилятору, что вы используете этот стандарт, и он должен интерпретировать его как таковой.

30
ответ дан Alejandro Díaz 30 March 2015 в 05:00
поделиться

Вам нужно объявить переменную j, используемую для первого цикла for перед циклом.

    int j;
    for(j=0;j<5;j++)
    printf("%d",Arr[j]);
4
ответ дан MySequel 30 March 2015 в 05:00
поделиться

Это будет рабочий код

#include <stdio.h>

    void funct(int[5]);
    int main()
    {
         int Arr[5]={1,2,3,4,5};
         int j = 0;

        funct(Arr);

        for(j=0;j<5;j++)
        printf("%d",Arr[j]);
    }
    void funct(int p[5]){
        int i,j;
        for(i=6,j=0;i<11;i++,j++)
            p[j]=i;
    }
.
-3
ответ дан Yasir Majeed 30 March 2015 в 05:00
поделиться

Самое простое решение от "Профессор доктор Майкл Хелбиг". он переключит ваш режим на c99, поэтому вам не нужно каждый раз добавлять флаг в make-файле http://www.bigdev.de/2014/10/eclipse-cc-for-loop-initial.html? showComment = 1447925473870 # c6845437481920903532

Решение: используйте опцию -std = c99 для вашего компилятора! Перейдите: Проект> Свойства> Сборки C / C ++> Настройки> Настройки инструмента> Компилятор GCC C> Диалект> Стандарт языка: выберите «ISO C99»

1
ответ дан Kashif 30 March 2015 в 05:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: