Я намерен вызывать функцию всякий раз, когда вызывается m_logger<<"hello"<<"world"
. m_logger имеет тип потока.
Так что я решил перегрузить << со следующей подписью </p>
friend ofstream& operator<<(ofstream &stream,char *str);
Однако компилятор vc выдает следующую ошибку:
ошибка C2666: 'оператор <<': 6 перегрузок имеют похожие преобразования </p>
Есть ли другой способ добиться этого, моя цель - перевести всю операцию записи в объект потока в другую функцию?
Создание объекта моего собственного уровня работает для меня, однако, как я могу заставить его работать как обычный объект ofstream, который преобразует все системные типы в строки или символы * я знаю, что одним из подходов будет перегрузка оператора для каждого типа, но есть ли более чистый подход