单独文件中的函数实现

Max*_*xpm 2 c++ implementation header function

在单独的文件中使用函数实现的正确语法是什么?例如:

foo.h中

int Multiply(const int Number);
Run Code Online (Sandbox Code Playgroud)

Foo.cpp中

#include "foo.h"

int Multiply(const int Number)
{
    return Number * 2;
}
Run Code Online (Sandbox Code Playgroud)

我看到这用了很多,但是当我尝试它时,我得到一个与缺少main()函数有关的错误.即使我尝试编译工作代码,我也会收到错误.

And*_*ong 6

粗略地说,您需要在正在编译的C++文件中包含main()函数.

正如编译器所说,你只需要在你的foo.cpp中有一个main()方法,如下所示:

#include "foo.h"
#include <iostream>

using namespace std;

int Multiply(const int Number)
{
    return Number * 2;
}

int main() {
    // your "main" program implementation goes here
    cout << Multiply(3) << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

或者您可以将主函数分成不同的文件,如下所示(如果您打算这样做,请省略foo.cpp中的main()块):

main.cpp

#include "foo.h"
#include <iostream>

using namespace std;

int main() {
   cout << Multiply(3) << endl;
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后编译就好了

g++ main.cpp foo.cpp
Run Code Online (Sandbox Code Playgroud)