我正在寫我的課,並測試它。看起來,逗號運算符(運算符)拒絕工作,程序只是簡單地跳過它。這是我跑C++:運算符,(逗號)似乎不起作用
fileObj << buffer,40;
代碼我寫了下面運營商(僅原型顯示,代碼是不相關的):
const file_t& operator<<(const void* buffer);
void operator,(int length);
「經營者< <」工作正常時,程序使用它,但是當它到達「運營商」時,它會簡單地跳過它,就像它不存在一樣。不用說,兩個運營商都依賴於對方。
任何想法爲什麼逗號運算符被跳過?謝謝。
http://www.java2s.com/Tutorial/Cpp/0200__Operator Overload/OverloadingCommaOperator.htm – karlphillip
@karlph illip:這個例子有一些主要問題(只是一目瞭然,重載應該是const限定的,並且應該對它們的操作數引用const引用;操作員應該是非成員,以允許LHS和RHS操作數的正確轉換,'使用namespace std;'是邪惡的)。一般來說,我不會信任名爲「java2s」的網站上的「C++教程」... –
很高興我沒有發佈該鏈接作爲答案。 ;) – karlphillip