2016-07-25 16 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