Possible Duplicate:
What is an undefined reference/unresolved external symbol error and how do I fix it?C++編譯器問題(?):不能將參數傳遞給函數在不同的類文件
最近,我開始在C++的解釋工作,但我得到惱火,向量或數組不能傳遞給外部無論我嘗試什麼,都會使用類方法,所以我刪除了我曾經工作過的所有東西。事實證明,我甚至不能將int傳遞給另一個類。在決定使用C或Java之前,我決定再給C++一次機會,但編譯器仍然不能像我期望的那樣工作。也許我忘記了一些關於C++的簡單內容,因爲我有一段時間沒有用過它,但這看起來很簡單。我的問題是:當它們沒有在同一個文件中定義時,我無法將參數傳遞給其他類中的方法。這裏就是我想要做的事:
主營:main.cpp中
#include "myclass.h"
int main() {
MyClass test;
int n = test.add(25, 30);
return n;
}
標題:myclass.h
class MyClass {
public:
int add(int a, int b);
};
類實現:myclass.cpp
#include "myclass.h"
int MyClass::add(int a, int b) {
return a + b;
}
與g++ main.cpp
產量
/tmp/ccAZr6EY.o: In function
main': main.cpp:(.text+0x1a): undefined reference to
MyClass::add(int, int)' collect2: error: ld returned 1 exit status
到底什麼是我做錯了編譯呢?另外,即使我的函數沒有被參數化,編譯器也會在同一件事情上大吼大叫,所以它一定是頭文件的問題。
任何幫助非常感謝 - 謝謝!
您必須鏈接實施。 http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix – chris
我相信這個問題必須是重複的。 –
隨意刪除它 - 不希望stackoverflow服務器崩潰導致我的60kb的數據...但是,謝謝克里斯 - 我想這樣做,但我不記得必須。 – ICoffeeConsumer