Пишу свой логгер, работающий со всем подряд (позволяющий выводить логи куда угодно) есть желание писать так:
CMyLogger logger;
logger << "message" << 007 << "any message";
Для этого пытаюсь перегрузить оператор вывода в поток:
#include <iostream>
class CClass {
public:
int i;
CClass() { i = 55;}
void operator<<(int inttt) {
std::cout << " [" << inttt << "] " << std::endl;
}
};
int main(int argc, char **argv)
{
CClass clss;
clss << 535 << 44;
return 0;
}
Выдает ошибку
g++ oper.cpp -o oper
oper.cpp: In function 'int main(int, char**)':
oper.cpp:25:17: error: invalid operands of types 'void' and 'int' to binary 'operator<<'
clss << 535 << 44;
При этом, если написать просто
clss << 535;