[問題] operator overloading <<
開發平台(Platform): (Ex: Win10, Linux, ...)
win 10 / linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
G++ / VC++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我在做大數的library(作業)
請問為什麼在做<<的時候,obj一定要用const?
如果不是const的話,會編譯不過。
餵入的資料(Input):
//a,b,c是class
cout << a*b; // 這樣打會編譯失敗
cout << a; // 但是這樣打可以
c=a*b;
cout << c; // 這樣打也可以
預期的正確結果(Expected Output):
加上const
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
ostream & operator << (ostream & str, const BigNum & obj)
作業已經demo了 貼上來應該沒關係
http://ideone.com/ifYD2i
補充說明(Supplement):
在visual studio 裡面可以編譯成功,但是g++會失敗。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.91.189
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1493665465.A.3CF.html
※ 編輯: moebear (140.113.91.189), 05/02/2017 03:05:01
推
05/02 03:09, , 1F
05/02 03:09, 1F
→
05/02 03:11, , 2F
05/02 03:11, 2F
推
05/02 03:17, , 3F
05/02 03:17, 3F
→
05/02 03:17, , 4F
05/02 03:17, 4F
→
05/02 03:17, , 5F
05/02 03:17, 5F
推
05/02 03:24, , 6F
05/02 03:24, 6F
推
05/02 03:24, , 7F
05/02 03:24, 7F
推
05/02 03:24, , 8F
05/02 03:24, 8F
推
05/02 03:25, , 9F
05/02 03:25, 9F
推
05/02 03:25, , 10F
05/02 03:25, 10F
→
05/02 03:26, , 11F
05/02 03:26, 11F
→
05/02 03:30, , 12F
05/02 03:30, 12F
推
05/02 03:39, , 13F
05/02 03:39, 13F
→
05/02 03:39, , 14F
05/02 03:39, 14F
→
05/02 03:40, , 15F
05/02 03:40, 15F
推
05/02 03:45, , 16F
05/02 03:45, 16F
→
05/02 03:45, , 17F
05/02 03:45, 17F
→
05/02 03:45, , 18F
05/02 03:45, 18F
推
05/02 07:19, , 19F
05/02 07:19, 19F
→
05/02 11:50, , 20F
05/02 11:50, 20F
→
05/02 11:51, , 21F
05/02 11:51, 21F
→
05/02 11:51, , 22F
05/02 11:51, 22F
→
05/02 11:54, , 23F
05/02 11:54, 23F
→
05/02 11:58, , 24F
05/02 11:58, 24F
推
05/02 12:54, , 25F
05/02 12:54, 25F
→
05/02 12:54, , 26F
05/02 12:54, 26F
推
05/02 18:51, , 27F
05/02 18:51, 27F
→
05/02 19:35, , 28F
05/02 19:35, 28F
→
05/02 20:19, , 29F
05/02 20:19, 29F
※ 編輯: moebear (140.113.91.189), 05/02/2017 20:22:44
→
05/02 20:25, , 30F
05/02 20:25, 30F
→
05/02 20:25, , 31F
05/02 20:25, 31F
→
05/02 20:47, , 32F
05/02 20:47, 32F
→
05/02 21:07, , 33F
05/02 21:07, 33F
→
05/02 21:08, , 34F
05/02 21:08, 34F
→
05/02 22:06, , 35F
05/02 22:06, 35F
→
05/02 22:08, , 36F
05/02 22:08, 36F
→
05/02 22:09, , 37F
05/02 22:09, 37F
推
05/02 22:41, , 38F
05/02 22:41, 38F
→
05/02 22:41, , 39F
05/02 22:41, 39F
推
05/02 22:42, , 40F
05/02 22:42, 40F
推
05/03 19:13, , 41F
05/03 19:13, 41F
→
05/03 20:45, , 42F
05/03 20:45, 42F
推
05/04 07:29, , 43F
05/04 07:29, 43F
→
05/04 07:30, , 44F
05/04 07:30, 44F
→
05/04 07:30, , 45F
05/04 07:30, 45F
→
05/04 08:11, , 46F
05/04 08:11, 46F
→
05/04 08:12, , 47F
05/04 08:12, 47F
→
05/04 08:23, , 48F
05/04 08:23, 48F
推
05/04 14:51, , 49F
05/04 14:51, 49F