【发布时间】:2020-02-22 06:32:40
【问题描述】:
这里我正在尝试实现一个通用函数来打印容器的所有元素 但我收到以下错误,
#include<iostream>
#include<list>
using namespace std;
template <typename T>
void print_elements(const T& coll)
{
for (const auto& elem : coll)
{
std::cout << elem << ' ';
}
}
int main()
{
list<char> coll; // list container for character elements
//appenading a to z using lists
for (char i = 'a'; i <= 'z'; ++i)
{
coll.push_back(i); //using the push back function
}
for (auto elem : coll) // in this case we have to use a range based for loop
{
cout << elem << ' ';
}
cout << endl;
cout << coll.size();
print_elements<char>(coll);
return 0;
}
我也收到这些错误:
候选人:'模板无效 print_elements(const T&)' 无效 print_elements(const T& coll) 模板参数推导/替换 失败:
没有匹配的调用函数 'print_elements(std::__cxx11::list&)'
print_elements(coll);
【问题讨论】:
标签: c++ templates generics stl