我有一个类,我正试图直接流入(我没有将类流式传输到ostream,但实际上是将文本流式传输到类中)通过覆盖<<运营商。该类基本上是使用的,因此我们可以为项目的不同部分打开和关闭调试输出。但是,当我尝试使用运算符时,我得到一个未定义的引用。
这就是我的.h作为班级的公共成员
template <typename T>
DebugOutputStreamer& operator<<(T const& value);
这是我的.cpp
template <typename T>
DebugOutputStreamer& DebugOutputStreamer::operator <<(T const& value)
{
if(m_Enabled)
{
if(m_UseColors)
{
std::cout << m_OuputColour << value << ConsoleColour::FG_DEFAULT;
}
else
{
std::cout << value;
}
}
return this;
}
然而,当我尝试流式传输“Hello”时,我正在
main.cpp:(.text+0x564): undefined reference to `DebugOutputStreamer& DebugOutputStreamer::operator<< <char [6]>(char const (&) [6])'
有人能告诉我我错过了什么吗?