が呼び出されるたびに関数を呼び出すつもりm_logger<<"hello"<<"world"
です。m_logger はストリーム型です。
だから私は次の署名で << をオーバーロードすることにしました
friend ofstream& operator<<(ofstream &stream,char *str);
ただし、vc コンパイラは次のエラーを返します。
エラー C2666: 'operator <<' : 6 つのオーバーロードに同様の変換があります
これを達成する他の方法はありますか?私の目的は、ofstream オブジェクトへのすべての書き込み操作を別の関数に転用することです
自分のカルスのオブジェクトを作成するのはうまくいきますが、システム定義のすべての型を文字列またはchar *に型キャストする通常のオブストリームオブジェクトのように機能させるにはどうすればよいですか。私は1つのアプローチがすべてのタイプの演算子をオーバーロードすることであることを知っていますが、よりクリーンなアプローチはありますか