2016-07-25 17 views
-2

我在C++未定义参考起作用误差在C++

functions.h

void handle_1(std::string line); 

functions.c

#include "functions.h" 
void handle_1(string line) 
{ 
//do something 
} 

的main.c

3个文件
#include <iostream> 
#include "functions.h" 
using namespace std; 
int main() 
{ 
    string line; 
    getline(cin, line); 
    handle_1(line); 
} 

我收到以下错误 -
在函数'主:

main1.cpp:(.text+0x116): undefined reference to 'handle_1(std::string)' 

collect2: error: ld returned 1 exit status 

回答

3

使用此:

g++ functions.c main.c -o main 
+0

functions.c不能编译。它需要参数 – EFenix

+0

中的std :: string,然后在顶部执行'#include '。 –

+3

但它会是更好的* .c'文件重命名''到* .cpp',只是因为你想哟使用C++标准库 – VolAnd