かっこなしで関数を呼び出すことはできませんが、次のソース コードがあるとします。
#include<iostream>
using namespace std;
ostream& test(ostream& os){
os.setf(ios_base::floatfield);
return os;
}
int main(){
cout<<endl<<scientific<<111.123456789;
cout<<endl<<test<<111.123456789;
}
/// Output:
/// 1.11235e+002
/// 111.123
左シフト演算子のオーバーロードはありませんが、test(ostream& os)
関数内で関数cout
を呼び出すmain
場合、括弧は必要ありません。私の質問はなぜですか?