[問題] C++ 結構傳入函數問題

看板C_and_CPP作者 (天使羽根)時間13年前 (2011/05/24 11:21), 編輯推噓0(0024)
留言24則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) none 問題(Question): 無法傳入結構變數給函數 編譯後出現下述之錯誤訊息 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 25 parse error before'(' 28 parse error before'(' 29 parse error before'(' 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/DS1W1u82 補充說明(Supplement): 請問是語法有問題嗎? 請不吝指教~感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.98.39

05/24 11:24, , 1F
cout<<"Vector u&v add is:"<<vector v_add(u,v)<<endl;
05/24 11:24, 1F

05/24 11:25, , 2F
把v_add前面的vector拿掉
05/24 11:25, 2F
感謝ANG大的回覆,不過我這方法也試過了,他會出現 "no match for `"這個編譯錯誤 訊息 ※ 編輯: jojowolf 來自: 122.147.98.39 (05/24 11:29)

05/24 11:30, , 3F

05/24 11:31, , 4F
C++已經有個內建的vector了,同名會有麻煩,所以改名
05/24 11:31, 4F

05/24 11:34, , 5F
= =因為你老兄沒有overload阿,cout當然不會輸出阿
05/24 11:34, 5F

05/24 11:37, , 6F
建議你先去研究overload,再看james732程式碼
05/24 11:37, 6F

05/24 11:37, , 7F
全名叫做「operator overloading」,「運算子多載」
05/24 11:37, 7F

05/24 11:39, , 8F
~"~抱歉,j大是對的(掩面)
05/24 11:39, 8F

05/24 11:39, , 9F
說overload沒有錯啦,只是多個oprator會更明確 XD
05/24 11:39, 9F
恩恩~james大的程式可以RUN...我去找找多載的文章好了... ※ 編輯: jojowolf 來自: 122.147.98.39 (05/24 11:40)

05/24 11:41, , 10F
這是個認識 operator<< 的好機會, 趁機會學起來吧 XD
05/24 11:41, 10F

05/24 11:42, , 11F
我翻手邊的書,運算子多載是在14章介紹,可是這個練習是
05/24 11:42, 11F

05/24 11:43, , 12F
在第10章,所以是不是可以不用運算子多載達到目的呢?
05/24 11:43, 12F

05/24 11:47, , 13F
http://pastie.org/1964465 大概像這樣改
05/24 11:47, 13F

05/24 11:47, , 14F
意思差不多,只是寫起來比較難看一點點
05/24 11:47, 14F

05/24 11:54, , 15F
先研究一下operator overloading比較好,何況有現成例子
05/24 11:54, 15F

05/24 11:54, , 16F
恩恩~研究一下,感謝大大無私分享 益rz
05/24 11:54, 16F

05/24 12:04, , 17F
那請教另一個問題:為什麼使用結構必須多載才能cout?
05/24 12:04, 17F

05/24 12:04, , 18F
上面幾行的cout指令沒問題啊? 請不吝指教...
05/24 12:04, 18F

05/24 12:05, , 19F
因為我手邊的書沒有說明的很詳盡...
05/24 12:05, 19F

05/24 12:05, , 20F
因為cout認識int, double但是它不認識myVector
05/24 12:05, 20F

05/24 12:05, , 21F
它知道要怎麼印出int,但不知道要怎麼印出使用者自訂結構
05/24 12:05, 21F

05/24 12:10, , 22F
總算釋疑了...感謝james大大Q_Q
05/24 12:10, 22F

05/24 12:10, , 23F
告訴cout"要怎麼印"這件事,就是operator<<的任務了
05/24 12:10, 23F

05/24 22:50, , 24F
把using namespace std;砍掉就可以不用改名了
05/24 22:50, 24F
文章代碼(AID): #1DsoGUW9 (C_and_CPP)