【发布时间】:2016-05-23 07:31:49
【问题描述】:
我正在实现一个类,我想使用 将一些参数传递给实例
例如,
terminal term;
term << "Hello World!" << '\n';
代码如下,
class terminal {
template <typename T>
terminal& operator << (T& t) {
std::cout << t;
return *this;
}
};
基本上,我想成为流而不是流的一部分。 (不是 cout
(对不起,我忘了说明我的问题) 问题是,它适用于字符串,但如果有数字(如 int、char 等)则编译失败。
如果我们使用上面的例子,编译器会报错
二进制表达式的无效操作数('terminal' 和 'int')
【问题讨论】:
-
你的代码有什么问题?
-
T& t设置为const T&,您应该已经准备好了。 -
您也可以发布产生错误的代码吗?
-
stackoverflow.com/questions/4366904/…此链接可能会解决您的问题。
-
@n.m.谢谢!你刚刚解决了我的问题!它必须是 const T&。