程式連接問題 |
尚未結案
|
Smallcat7315
一般會員 發表:19 回覆:22 積分:7 註冊:2005-05-02 發送簡訊給我 |
請幫我看一下以下的程式 為何不能LINK http://0rz.net/f20ml
|
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
|
Smallcat7315
一般會員 發表:19 回覆:22 積分:7 註冊:2005-05-02 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
Smallcat7315
一般會員 發表:19 回覆:22 積分:7 註冊:2005-05-02 發送簡訊給我 |
|
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
windblown
中階會員 發表:0 回覆:117 積分:98 註冊:2003-11-14 發送簡訊給我 |
問題出在 run.h 裡面的 #include "run.cpp" 因為你已經把 run.cpp 加到 project 裡面了,而 3.cpp 裡面的的 run.h 又再次把 run.cpp 放入 project 一次,造成 run() 被定義兩次而導致錯誤!! 解決方法:
移除 run.h 的 #include "run.cpp" 即可 程式的觀念
1 不要在 .h 內 #include "XXX.cpp"
2 分清楚「宣告」與「定義」的差別!!
在 run.h 內的 void run(const char *infile,const char *outfile); 為宣告
在 run.cpp 的
void run(const char *infile,const char *outfile) { ... }是定義 宣告可以有很多個,但是定義只能一個!! |
Smallcat7315
一般會員 發表:19 回覆:22 積分:7 註冊:2005-05-02 發送簡訊給我 |
引言: 問題出在 run.h 裡面的 #include "run.cpp" 因為你已經把 run.cpp 加到 project 裡面了,而 3.cpp 裡面的的 run.h 又再次把 run.cpp 放入 project 一次,造成 run() 被定義兩次而導致錯誤!! 解決方法: 移除 run.h 的 #include "run.cpp" 即可 程式的觀念 1 不要在 .h 內 #include "XXX.cpp" 2 分清楚「宣告」與「定義」的差別!! 在 run.h 內的 void run(const char *infile,const char *outfile); 為宣告 在 run.cpp 的原來是我搞錯意思了阿 我以為是 main.cpp 引用run.h 之後 run.h 引用run.cpp 才可以使用函式 如果不是這樣 那請問 這程式的流程 會怎樣跑 不然run.h 怎知道run.cpp?? 麻煩解答一下void run(const char *infile,const char *outfile) { ... }是定義 宣告可以有很多個,但是定義只能一個!! |
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
|
windblown
中階會員 發表:0 回覆:117 積分:98 註冊:2003-11-14 發送簡訊給我 |
1 在 project 內放入你會用到的 function 的 .cpp 及 .lib, VC 就會將把你的 function 變成 exe
2 每個 .cpp 之間要如何認識互相之間的 function 呢? 那就要透過 .h 了;因此 .h 內通常都放 function, class, struct, varibale 的宣告 所以你會用 #include 〈iostream〉 就是用了「標準」的 Cpp variable(ex: cin or cout) 與 function ( cin 的 〉〉 or cout 的 〈〈 ) 至於 lib, VC 已經偷偷幫你加到 project, 你沒加入該 lib, 也可以 compile 成功
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |