不幸的是,我找不到关于我的以下问题的帖子。我想编写一个小类,它重载 <<-Operator 以使用模板获取可变类型的数据。我班级的 .h 文件如下所示:
class MyClass {
private:
...
public:
template <typename> void operator<<(T data);
};
CPP 文件:
template <typename T> void MyClass::operator<<(T data) {
...
return;
}
现在我想使用我的课程:
MyClass mc;
mc << "Test";
mc << 123;
但我的 gcc 编译器不会编译它给我以下错误消息:
undefined reference to `void MyClass::operator<< <char const*>(char const*)'
或者如果我使用 int 例如:
undefined reference to `void MyClass::operator<< <int>(int)'
我究竟做错了什么???有人能帮我吗?