Компиляция программы на C с использованием XCode - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь запустить очень простую программу на C, используя код XCode, который напечатан ниже

1)   #include <stdio.h>
2)   int main ()
3)   {
4)     printf("Hello, World!\n");
5)     func();
6)     return 0;
7)   }
8)   void func()
9)   {
10)    printf("xxxx");
11)  }

В строке № 5 я получаю предупреждение «Неявное объявление func недопустимо в c99» и в строке номер8 Я получаю сообщение об ошибке "Конфликтующие типы для func"

, пожалуйста, сообщите Спасибо,

Ответы [ 3 ]

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

Вам необходимо объявить func(); перед его использованием (в основном), в противном случае оно объявляется как функция, которая возвращает int, и когда компилятор попадает в строку 8, он видит другое объявление той же функции, что и возвращает void.

#include <stdio.h>
void func(void);
int main ()
1 голос
/ 09 августа 2011

Ну, сообщения об ошибках сообщают вам, что именно не так. Используемые функции должны быть объявлены первыми, либо в той же единице исходного кода, либо в заголовочном файле.

Если func() еще не объявлено, компилятор принимает результат int.

Первая ошибка говорит, что вы должны объявить func() перед ее использованием:

void func(void);

int main()
{
    etc...    

Вторая ошибка говорит вам, что func() не возвращает int в конце концов. Если бы вы сначала объявили func(), обе ошибки не произошли бы.

0 голосов
/ 09 августа 2011

вы звонили func() до объявления или определения, поэтому

добавьте void func(); до основного

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