【发布时间】:2018-07-02 00:58:57
【问题描述】:
在我的程序中使用 template <typename p> 时,它没有给出任何编译错误,但我使用 template <class p> 在传递两个不同类型的向量时给出错误。
template <class p>
getvector(std::vector<p>&vec)
{
// my operation
}
这是接收向量的函数,我使用template <typename p> 它没有给出编译错误。任何人都可以解释与template <typename p >不同的原因吗?
【问题讨论】:
-
在这种情况下,
typename和class没有区别。您的代码应该通过编译。您可以提供错误消息的更多详细信息。 -
在这两种情况下,函数都需要指定返回类型。试试
template <typename p> void getvector(...) { ... }
标签: c++