如何使用命令行参数获取矢量输入?

How do I take a vector input using command line argument?

我不熟悉使用命令行参数。我正在尝试将矢量输入作为命令行参数。请参考以下代码并帮助我解决错误。

#include<bits/stdc++.h>
#include<vector>

using namespace std;

int main(int argc, char *argv[]){
    vector<int> arr;
    cout<<"Arguments are:\n";
    for(int i = 1 ; i < argc ; i++){
        arr.push_back(argv[i]);
    }
    for(int i = 0 ; i < arr.size() ; i++){
        cout<<arr[i]<<" ";
    }
}

代码给出以下错误。

问题是,您的矢量包含 ints,但命令行参数是字符串(见错误)。 您应该将 argv[i] 转换为 int,而不是使用 push_back()。 您可以使用 stoi() 将字符串转换为 int,但请记住,当命令行参数中不仅仅出现数字时,它可能会发生。