2013-10-06 99 views
0

我希望你能幫助我。因此,我有這個類,每當我嘗試編譯main.cpp時,我都會得到以下錯誤:未定義的引用'Sally :: Sally()','void Sally :: print()'和兩次'Sally: :〜莎莉()」C++未定義的函數引用

這裏是我的頭文件:

#ifndef SALLY_H 
#define SALLY_H 


class Sally 
{ 
    public: 
     Sally(); 
     void print(); 
     virtual ~Sally(); 
    protected: 
    private: 
}; 

#endif // SALLY_H 

這裏是我的Sally.cpp文件

#include<iostream> 
#include "Sally.h" 
using namespace std; 

Sally::Sally() 
{ 

} 
void Sally::print() 
{ 
    cout<<"print something"<<endl; 
} 

Sally::~Sally() 
{ 

} 

這裏是我的main.cpp文件

#include <iostream> 
#include"Sally.h" 
using namespace std; 

int main() 
{ 
    Sally salObj; 
    salObj.print(); 

}

我看到一個評論在這裏,我應該包括在項目中的3個文件,但每當我做我做一個控制檯應用程序,它打印儘管我甚至沒有那個地方,但是「Hello world」。如果有人能夠幫助我,我會很開心,但是我已經被這個問題困擾了幾天,似乎沒有什麼能讓它變得更好。

+0

您正在使用什麼編譯器?你需要鏈接Sally.cpp – billz

+0

很難從遠處幫助這一點。問題不在於代碼,而在於你對Code :: Blocks的理解。試着找一個能和你一起坐下來的人,告訴你你做錯了什麼。順便說一句,您需要創建一個項目並將所有文件添加到該項目中,但顯然您以某種方式做錯了。 – john

回答

3

Code :: Blocks將默認main.cpp文件添加到控制檯應用程序項目。您需要刪除該文件,並通過右鍵單擊項目名稱 - >「添加文件...」來添加自己的文件。確保你添加了所有三個文件。

Remove main.cpp Add your files

+0

非常感謝您抽出寶貴時間! – user2851616

+0

@ user2851616:我很高興我能幫上忙!如果它回答你的問題,請接受答案。謝謝! – hauzer