看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) compile會出現錯誤訊息 希望得到的正確結果: 正常執行,印出key的id 程式跑出來的錯誤結果: Compiling: main.cpp Compiling: Key.cpp Linking console executable: bin\Debug\SEproject.exe obj\Debug\Key.o: In function `ZN3KeyC2Ev': D:/test/SEproject/Key.cpp:18:ey() obj\Debug\main.o:D:/test/SEproject/Key.cpp:18嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC1Ev': D:/test/SEproject/Key.cpp:18:ey() obj\Debug\main.o:D:/test/SEproject/Key.cpp:18嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC2Ei': D:/test/SEproject/Key.cpp:23:ey(int) obj\Debug\main.o:D:/test/SEproject/Key.cpp:23嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3KeyC1Ei': D:/test/SEproject/Key.cpp:23:ey(int) obj\Debug\main.o:D:/test/SEproject/Key.cpp:23嚗梄洵銝胦活摮ꐊobj\Debug\Key.o: In function `ZN3Key5getIdEv': D:/test/SEproject/Key.cpp:28:etId() obj\Debug\main.o:D:/test/SEproject/Key.cpp:28嚗梄洵銝胦活摮ꐊcollect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 0 errors, 0 warnings (奇怪的亂碼 = =a 我看不懂) 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) gcc/g++ 有問題的code: (請善用置底文標色功能) main.cpp #include <iostream> #include "Key.cpp" using namespace std; int main() { cout << "Hello world!" << endl; Key k1; Key k2(5); cout<<k1.getId()<<" "<<k2.getId()<<endl; return 0; } Key.cpp #include <iostream> using namespace std; class Key{ public: Key(); Key(int); int getId(); protected: private: int id; }; Key::Key() { id = 3; } Key::Key(int a) { id = a; } int Key::getId() { return id; } 補充說明: 用C++這麼久,算是第一次要寫class 不過真的很不熟 出了點問題 麻煩大家了 -- 我不是宅 我只是比較居家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 108.6.65.99
LPH66:你犯了我 #1C3n2OvA 這篇提到的錯了 11/24 12:57
loveflames:class要放header,不要include cpp 11/24 13:00
loveme00835:其實 include 什麼都可以, 就是不要引入到實作/定義 11/24 13:09
loveme00835:自找麻煩 11/24 13:10
loveme00835:但是還是要照慣例不要有特殊的怪癖好= =" 11/24 13:21
LoveBeef:『用C++這麼久,算是第一次要寫class 』 11/24 13:48
loveme00835:樓上覺得哪裡有問題嗎? 11/24 13:56
johnhmj:g++?你用 Linux 系統?! 11/24 14:00
johnhmj:假如用M$系統,用VC++Express就好了,方便除錯。 11/24 14:02
我以前寫C比較多,雖然現在有在寫C++ 但是很多事情我還是都用function解決 沒有自己寫過class 我是用 win7 + Code block + gcc ※ 編輯: rock1985 來自: 108.6.65.99 (11/24 14:21)
rock1985:我又找了一些資料,大概知道問題出在哪裡了 謝謝大家 11/24 14:30
loveme00835:XDD 11/24 14:43