打印模板的值

JT *_*son -1 c++ templates

所以,我只是想做这个功能:

template<typename T>
void printWithEndl(T)
{
    std::cout << T << "\n";
}
Run Code Online (Sandbox Code Playgroud)

但我在线上得到了这个错误:

std::cout << T << "\n";
Run Code Online (Sandbox Code Playgroud)

我怎么能知道T的价值.

提前致谢.

Jac*_*eth 7

您应该为你传递给变量printWithEndl,并且cout这个名字:

template<typename T>
void printWithEndl(T t)
{
    std::cout << t << "\n";
}
Run Code Online (Sandbox Code Playgroud)

如果你使用它来打印复杂的对象,你可能最好不要传递对const的引用:

template<typename T>
void printWithEndl(const T& t)
{
    std::cout << t << "\n";
}
Run Code Online (Sandbox Code Playgroud)