看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《sherrypenelo (sherry)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) : Linux : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 無 : 問題(Question): : 請問如果在int main檔裡寫ifstream INPUT("Input.txt",ios::in) : 要怎麼用input.txt裡的函式functionINInputFile?? : 餵入的資料(Input): : 預期的正確結果(Expected Output): : 錯誤結果(Wrong Output): : error. input not declared in this scope : 程式碼(Code):(請善用置底文網頁, 記得排版) : Input.txt : class Input{ : functionINInputFile(); : }; : main.cpp : class AOB{ : ifstream input("Input.txt",ios::in); : input IN; : IN.functionINInputFile; : }; : 補充說明(Supplement): 先給你的想法好了 一般來講code都要編譯成電腦看得懂的語言才能夠執行 C++的話步驟總共是preprocessing > compiling > assembling > linking 但input.txt並沒有編譯過,那你直接讀取的話 又要如何將它翻譯成電腦語言並執行呢? 假如你自己寫了一個compiler那就另當別論了(眼神死 但一般來講我們不會寫,只會使用到gcc/g++等等的compiler 所以在我所學範圍內,應該是沒辦法用ifstream直接開檔呼叫檔案裡面的function (假如有的話請各位大大補充,我所學時間不長XD) 所以你可以換個方式,將它寫成標頭檔(.h) 然後link起來,就可以了 至於程式碼,我沒打錯的話,這邊有個範例 http://codepad.org/4grgbDt0 另外既然在Linux了 可以去看一下makefile,很方便的XD -- 有錯的話請各位大大更正... 小弟我所學淺薄 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.157.161