警告:形式参数为`auto` >>

问题描述 投票:0回答:1

我执行了以下程序-

#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 #include 使用命名空间std; void display(const vector &arr){for(auto const&val:arr)...

c++ function g++ compiler-warnings auto
1个回答
2
投票

您真的想要一个模板:

template<typename T>
void display(const vector<T>& arr)
{
    for (auto const &val: arr) 
        cout<<val<<" ";
    cout<<endl;
}
© www.soinside.com 2019 - 2024. All rights reserved.