오늘 Clang은 프로그램을 컴파일하려고 시도하면서 다소 이상한 메시지를 보냈습니다. 난 정말 C와 경험이 아니에요, 그래서 내가 뭔가 잘못하고있을 수도 있지만 실제로 시도 코드는 이것이다 : '합'기능을 선언 할 때함수 프로토 타입 C
#include <stdio.h>
#include <stdlib.h>
int sum(a,b);
int main()
{
printf(sum(1,2));
return 0;
}
int sum (int a, int b)
{
return a + b;
}
당신은 아마 눈치 챘을 때, 나는 ' param은 포함하지 않았습니다. 유형, 그래서 오류가 발생할 수 있지만, 연타 나에게주는 실제 메시지는 이것이다 : 그것은 그것이 단지 함수 정의에서 허용 말할 때
ind.c:4:9: error: a parameter list without types is only allowed in a function definition
int sum(a,b);
^
ind.c:12:5: error: redefinition of 'sum' as different kind of symbol
int sum (int a, int b)
^
ind.c:4:5: note: previous definition is here
int sum(a,b);
^
2 errors generated.
연타가 무엇을 의미합니까? int sum(a,b);
은 함수 정의가 아닙니까?
또한'sum (1,2)'의 반환 값을'printf '하려고 할 때 몇 가지 문제가 발생할 것입니다. 'printf ("% d", sum (1,2))'를 대신 사용해보십시오. – Michael