2011-04-17 65 views
0
//Double.h file 
    #ifndef Double_h 
    #define Double_h 

    int add(int x,int y); 

    #endif 


    //Double.cpp file 
    int add(int x,int y) 
{ 
    return x + y; 
} 

//main.cpp file 
#include <iostream> 
#include "Double.h" 
using namespace std; 


int main() 
    { 
    cout << add(7,8)<<endl; 
    return 0; 
    } 

它應該是一個簡單的7 + 8程序,我使用的是C++的Codeblocks。它一直說add wasn't declared in this scope。並且當我DID在using namespace std;之後在main.cpp文件中聲明int add (int x,int y)時,它表示"undefined reference for add(int,int)。我不明白這一點,我真的認爲它會起作用。有人能指出這個錯誤嗎?獲取關於未定義參考的錯誤,儘管它被定義爲

回答

0

確保你的頭文件Double.h是正確的文件夾,當你正在編譯main.cpp(他們是偶然複製和你的主。 CPP看到一個錯誤的文件?)。您的Double.cpp也應該包括Double.h。還要確保將main.cppdouble.cpp編譯在一起以生成最終的可執行輸出文件。

該程序應該可以工作。

+0

我應該在#include「Double.h」中包含Double.h ???? – user711602 2011-04-17 03:37:52

+0

它仍然沒有工作,他們都在同一個文件夾中......這真的很奇怪。 – user711602 2011-04-17 03:39:34

+0

並等待你的意思是通過編譯main.cpp和double.cpp在一起??建立他們兩個正確???我試過了,它一直在說一些「未定義的引用Winmain @ 16」錯誤 – user711602 2011-04-17 03:40:30

-1

移動聲明

int add(int x, int y); 

#ifndef

+0

爲什麼然後什麼布特頭文件? – user711602 2011-04-17 03:30:28

+0

不起作用 – user711602 2011-04-17 03:31:32

0

你不應該在你的main.cpp中加入「Double.cpp」嗎?

+0

絕對不是。 – Johnsyweb 2011-04-17 03:40:55