[問題] 副程式執行問題

看板C_and_CPP作者 (幻想的夢境)時間10年前 (2014/02/12 18:25), 編輯推噓5(509)
留言14則, 8人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC2010 問題(Question): 我有一個主module跟兩個副module 在主程式呼叫兩個副程式(不同的CPP檔) 副程式裡面各有一個叫code的function 但是兩者內容不同(只有名稱相同) 在呼叫時編譯器一直顯示已經定義過了 怎麼會這樣? 我該怎麼改? 程式碼(Code):(請善用置底文網頁, 記得排版) #include<stdlib.h> #include<stdio.h> void A(); void B(); int main(){ A(); B(); return 0; } -------- A.cpp #include<stdlib.h> #include<stdio.h> void code(FILE *fw); void A(){ fw=fopen("testA.txt","w"); code(fw); fclose(fw); } void code(FILE *fw){ fprintf("This is A.\n"); } -------- B.cpp #include<stdlib.h> #include<stdio.h> void code(FILE *fw); void B(){ fw=fopen("testB.txt","w"); code(fw); fclose(fw); } void code(FILE *fw){ fprintf("This is B.\n"); } 先謝了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.136.146.114

02/12 18:41, , 1F
code改成static
02/12 18:41, 1F
對吼~教過沒在用都忘了 感謝解答

02/12 19:24, , 2F
就把名稱改不同阿
02/12 19:24, 2F
我知道可以改不一樣名稱 但是如果今天我有100個程式 不可能設成code1~code100阿 ※ 編輯: jacky1989 來自: 140.136.146.114 (02/12 20:15) ※ 編輯: jacky1989 來自: 140.136.146.114 (02/12 20:17)

02/12 20:49, , 3F
你可以把兩個不同的文字當作參數傳進去
02/12 20:49, 3F

02/12 20:50, , 4F
試著重複使用
02/12 20:50, 4F
我了解你的意思 這只是我po上來示意的 實際上A與B裡面是天差地別 無法參數化 ※ 編輯: jacky1989 來自: 140.136.146.114 (02/12 21:46)

02/12 22:14, , 5F
天差地別的功能你名字弄成一樣就有問題了...
02/12 22:14, 5F

02/12 22:14, , 6F
如果你有c++的話可以用多型,純c我就不知道了
02/12 22:14, 6F
有特殊用途所以才會弄成一樣名稱 我是純C 所以無法多型 而且我也只會純C C++怎樣都學不會..... ※ 編輯: jacky1989 來自: 140.136.146.114 (02/12 22:33)

02/12 22:59, , 7F
改成 static void code ?
02/12 22:59, 7F

02/12 22:59, , 8F
@@ 一樓推了
02/12 22:59, 8F

02/12 23:32, , 9F
純C的話就用function pointer去兜看看吧
02/12 23:32, 9F

02/13 12:27, , 10F

02/13 12:28, , 11F
回錯篇,抱歉 !!
02/13 12:28, 11F

02/13 12:33, , 12F
哈 , 沒回錯篇 , 我 blog 有相關描述,可以看看 !!
02/13 12:33, 12F
好的,會去參考一下

02/13 21:37, , 13F
有什麼特殊需求需要這麼做嗎
02/13 21:37, 13F
如果A是要輸出 今天天氣很好 B是要輸出 這地板很滑 這如何參數化呢?

02/13 22:20, , 14F
function pointer + 1
02/13 22:20, 14F
I will try it. ※ 編輯: jacky1989 來自: 118.233.66.46 (02/13 23:14)
文章代碼(AID): #1I-qm1Y- (C_and_CPP)