[問題] 如何讓開檔的名字變成全域變數

看板C_and_CPP作者 (daniel)時間14年前 (2011/05/30 15:45), 編輯推噓1(1013)
留言14則, 5人參與, 最新討論串1/1
假設我的主程式是A 之後去呼叫B副函式 然後B又去呼叫C副函式 所以順序是 A ==> B ==> C 我開檔的指令在A ( ifstream inFile; ) 我要怎定義或是怎宣告 可以讓 inFile 可以讓 C 直接使用呢 因為 我是A 開檔 C讀檔 希望哪位朋友可以教導 謝謝 我忘記說了 A B C 分別寫在三個不同的CPP 所以 樓下的前輩 你那個方法我不能用耶 謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.26.138

05/30 15:51, , 1F
http://pastie.org/1992021 大概是這種樣子
05/30 15:51, 1F
※ 編輯: danielpowter 來自: 140.134.26.138 (05/30 16:11)

05/30 16:17, , 2F
在有A()的那個cpp裡面寫 ifstream inFile;
05/30 16:17, 2F

05/30 16:17, , 3F
而C()的那個則寫 extern ifstream inFile;
05/30 16:17, 3F

05/30 16:18, , 4F
當然最好是不要用全域變數...
05/30 16:18, 4F

05/30 16:18, , 5F
唔 我會想把 inFile 給傳進 B 和 C 去...
05/30 16:18, 5F

05/30 16:21, , 6F
732前備 我有寫過可是都會出現重複宣告
05/30 16:21, 6F

05/30 16:21, , 7F
可以給我一個 EXAMPLE 嗎 謝謝你
05/30 16:21, 7F

05/30 16:25, , 8F
我也覺得寫成參數傳遞會比較好
05/30 16:25, 8F

05/30 16:25, , 9F

05/30 16:39, , 10F
05/30 16:39, 10F

05/30 16:56, , 12F
上面那個連結可以解決重複宣告
05/30 16:56, 12F

05/30 18:15, , 13F
extern?
05/30 18:15, 13F

05/30 18:37, , 14F
你A和C裡都要用extern ifstream inFile;
05/30 18:37, 14F
文章代碼(AID): #1DuqiAA8 (C_and_CPP)