我有一些Logging::Logger
具有以下功能的类:
template<typename T>
const Logger& Logger::operator<<(const T& in) const {
// ...
return *this;
}
const Logger& Logger::operator<<(std::ostream& (*os)(std::ostream&)) {
// ...
return *this;
}
以及以下代码:
loggerInstance << "ID: " << 5 << endl;
尽管所有运算符似乎都已实现,但我收到以下错误:
错误 C2678:二进制“<<”:未找到采用“const Logging::Logger”类型的左侧操作数的运算符(或没有可接受的转换)
当然,如果endl
一切正常。
我看过以下答案:
重载 operator<< 时 std::endl 的类型未知
我错过了什么?