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.