일부 함수 프로토타입을 사용하지 않고 함수 본문이 해당 함수의 호출 문 뒤에 있는 섹션에 선언되어 있는 경우. 이러한 경우 컴파일러는 기본 반환 유형이 정수라고 생각합니다. 그러나 함수가 다른 유형의 값을 반환하면 오류가 반환됩니다. 반환 유형이 정수인 경우에도 제대로 작동하며 때로는 경고가 발생할 수 있습니다.
예시 코드
#include<stdio.h> main() { printf("The returned value: %d\n", function); } char function() { return 'T'; //return T as character }
출력
[Error] conflicting types for 'function' [Note] previous implicit declaration of 'function' was here
이제 반환 유형이 정수이면 작동합니다.
예시 코드
#include<stdio.h> main() { printf("The returned value: %d\n", function()); } int function() { return 86; //return an integer value }
출력
The returned value: 86