2015-11-14 89 views
1

这里是我的main.cpp:如何使用extern链接到其他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; 
} 

但是当我编译,它说: “连接命令失败”。任何人都可以帮助我解决这个问题。

回答

3

您在main.cpp中声明了函数int giveMain(),但function.cpp中的函数采用int。声明正确的功能,它应该工作。另外extern是功能的默认值,因此您不需要包含关键字。

编辑:只注意到你在main.cpp中的#include <function.cpp>。切勿包含.cpp文件。您遇到的问题是int giveMain(int)的多个定义,因为functions.cpp的内容正在编译两次。

相关问题