在C++中,不能被過載的運運算元有:
顯示變數 y1 和 C++ 標準庫中的某個變數名稱衝突,這個問題應當引起注意。這不是標頭檔案寫成 <bits/stdc++.h> 引起的,即使換成各具體的標頭檔案(< iostream >, < algorithm >, < ctring >)還是會發生這個錯誤。
並且儘量不要用到萬能頭,有多少就開多少,不然會開一些奇奇怪怪的函數然後導致錯誤。
main()這個函數返回值為int,long long肯定不行,編譯都過不了。有時為了方便把int替換成long long,會用到搜尋功能中的替換檔案內容,然後以為就一了了之了。(printf也會被替換)
在過載運運算元時,需要注意到const,即使漏掉之後c++11的編譯器也不會報錯但是使用一些比較lj的編譯器(如noi的 )就過不了。
所以還是要養成習慣
(你說用friend還有什麼事)