gpt4 book ai didi

C++:使用模板重载 << 运算符

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:25:30 25 4
gpt4 key购买 nike

<分区>

不幸的是,我找不到关于我的以下问题的帖子。我想写一个小类来重载 <<-Operator 来获取使用模板的可变数据类型。我类(class)的 .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)'

我做错了什么???有人可以帮助我吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com