【发布时间】:2021-12-28 12:41:33
【问题描述】:
我是 C++ 模板的初学者,我想知道是否可以将容器传递给模板函数的类型名,这就是我想要做的:
template <typename T>
int find_size(const T<int> t)
{
return (t.size());
}
int main(void)
{
std::array<int, 10> test;
for (int i = 0; i < 10; i++)
{
test[i] = i;
}
findsize(test);
}
我在编译时收到一条错误消息,指出 T 不是模板。 是否可以将容器的模板传递给函数的模板?
【问题讨论】:
-
应该是
find_size(const T& t),然后是return t.size()? -
你真正想要实现什么?在你的
find_sizeT曾经被用作一种类型,一次被用作模板,一次被用作对象 -
我纠正了我的错误,基本上我希望我的函数能够采用 abritary 类型的容器
标签: c++ templates containers c++-standard-library