这是我的main.cpp:
#include <iostream>
#include "function.cpp"
using namespace std;
extern int giveMain();
int main() {
int x = 4;
x = giveMain(x);
cout << x << endl;
}
这是我的function.cpp:
#include <iostream>
using namespace std;
int giveMain(int a) {
a = 3 + a;
return a;
}
但是当我编译时,它说“链接器命令失败”。任何人都可以帮助我解决这个问题。
答案 0 :(得分:3)
您在main.cpp中声明了函数int giveMain()
,但function.cpp中的函数需要int
。声明正确的函数,它应该工作。另外extern
是功能的默认设置,因此您不需要包含关键字。
编辑:刚刚注意到你在main.cpp中#include <function.cpp>
。永远不要包含.cpp文件。你遇到的问题是int giveMain(int)
的多个定义,因为functions.cpp的内容被编译了两次。