所以,我只想提出这个问题:
template<typename T>
void printWithEndl(T)
{
std::cout << T << "\n";
}
但我收到了这个错误:
std::cout << T << "\n";
我怎么能知道T的值。
提前致谢。
答案 0 :(得分:7)
您应该将您传递给printWithEndl
的变量命名为cout
,并命名:
template<typename T>
void printWithEndl(T t)
{
std::cout << t << "\n";
}
如果您正在使用它来打印复杂的对象,那么您最好关闭passing a reference to const:
template<typename T>
void printWithEndl(const T& t)
{
std::cout << t << "\n";
}