devxlogo

Implicit Function Declaration

Question:
I am a Computer Science student, and I am trying to compile a program where I use multiple files and my own header file for the first time. But I’m having some trouble. I get an error that says:

 driver.cc: In function `int main(...)':driver.cc:34: warning: implicit declaration of function `int dev(...)'driver.cc:35: warning: implicit declaration of function `int output(...)'

I thought this meant that the function was not defined anywhere else, but I thought the header file and attached file with the definitions did that.

Do you know what I am doing wrong?

Answer:
It looks like you’re calling functions before the compiler has seen their declarations/definitions. In C, this is legal (although deprecated). In C++, however, it’s illegal. Because many C++ compilers are also C compilers, you receive a warning rather than an error message.

Make sure the prototypes of the functions dev() and output() appear before they are actually called.

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  How Seasoned Architects Evaluate New Tech

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.