implicit declaration of function의 뜻은 말 그대로 함수를 명시적으로 선언하지 않은 채로 사용했다는 뜻입니다.
좀더 자세하게 설명드리자면,
함수의 선언이라는 것은 컴파일러에게 함수를 사용하기 전에 그것이 있다는 것을 알려주는 목적입니다. Implicit라는 뜻은 함수를 사용하기 전에 그것에 대해서 명백하게 무엇인지 알려주지 않았다는 의미를 포함하고 있습니다.(반댓말은 Explicit 이죠)
Implicit 문제가 생기는 것은 다음과 같습니다.
C89 표준에 따르면, 함수가 명시적인 프로토타입(즉, 반환값, 함수명, 매개변수 선언) 없이 사용되게 되면, 컴파일러는 그런 함수에 대해서 implicit 선언을 만들게 됩니다.
어찌되었든, 직접 만드신 함수의 이름과 반환값, 매개변수가 모두 일치하는 지 확인하시기 바랍니다..