我偶然发现了一个关于模板和泛型类型的问题。
我想要做的是:有没有办法在C++中比较泛型类型(模板)和具体类型?
template <typename T>
Log& operator<<(const T &stream) {
buffer_.stream << stream;
if(stream == "\n") //Pseudocode
write(buffer_);
return *this;
}
基本上我要检查,如果一般的参数流等于“\ n”,但是编译器不断抛出的错误。我尝试铸造(静态),但编译器不喜欢这一点。
有什么建议吗?
您如何使用此功能,或者您想如何使用该功能?你传递给函数的是什么?您可能必须为字符串或字符进行非泛型重载。 – 2015-04-04 11:57:53
可能是一个明显的好主意来发布错误和你所做的而不是省略相关信息(编译器错误)和源代码(你已经用“伪代码”代替了)。 – 2015-04-04 11:58:19
模板不允许您编写无法正常使用该类型写入的代码。 – chris 2015-04-04 11:59:00