我执行了以下程序-
#include <iostream> #include <vector> using namespace std; void display(const vector<auto> &arr) { for (auto const &val: arr) cout<<val<<" "; cout<<endl; } int main() { vector<int> a (6); display(a); vector<double> b (3); display(b); return 0; }
并且它给出以下警告(没有任何错误)-
warning: use of ‘auto’ in parameter declaration only available with ‘-fconcepts’ 5 | void display(const vector<auto> &arr) { | ^~~~
我为什么收到此警告,以及此警告是关于什么的?
我应该在这里使用auto
作为形式参数??
如果使用错误的方法,还有什么替代方法??
我执行了以下程序-#include
您真的想要一个模板:
template<typename T>
void display(const vector<T>& arr)
{
for (auto const &val: arr)
cout<<val<<" ";
cout<<endl;
}