当前位置: 首页 > 知识库问答 >
问题:

错误:调用'std::vector::push_back(int)时没有匹配的函数

宇文俊风
2023-03-14

我是c语言的新手。当我运行代码时,出现以下错误:(

大Sorting.cpp:在函数int main(int, const char**)中:大Sorting.cpp:13: 22:错误:没有匹配函数调用std::向量

这是我的代码

#include <iostream>
#include <vector>
#include <algorithm>

int main(int argc, char const *argv[]) {
    std::vector<std::string> v;

    int n, m;
    std::cin >> n;
    for (size_t i = 0; i < n; i++) {
        std::cin >> m;
        v.push_back(m);
    }
    sort(v.begin(), v.end());
    for(int i = 0; i < v.size(); i++){
        std::cout << v[i] << '\n';
    }
    return 0;
}

共有1个答案

葛高澹
2023-03-14

您正在读取int变量m,并试图将其放入字符串向量中。你应该使用std::vector

一句话:您的代码只需要一次更改,最合理的更改是更改std::vector

 类似资料:
  • 我试图将一个向量元组转换成一个向量元组(反之亦然)。调用函数时遇到问题。当我用一个参数调用它时,我得到一个错误: prog。cpp:在函数“int main()”中: prog。cpp:44:24:错误:调用“tuple_transpose(std::tuple)”时没有匹配函数 这是一个演示,其中包含错误:http://ideone.com/7AWiQQ#view_edit_box 我做错了什么

  • 查看std:make_sharedvs std::shared_ptr的前一个堆栈问题,我试图在一个uni项目中实现它。这是之前的“问题”: 我想不出有什么情况

  • 我得到了错误,不知道是什么错了 我试着把构造器排除在外。 我得到以下错误: 在构造函数“B::B(int,int)”中:没有用于调用“A::A()”的匹配函数 备注候选人有: A::A(常数A A::A(int,int)

  • 我正在尝试连接两个现有的代码库——一个在C中,另一个在C中。C代码使用std::vector,而另一个基于double数组。我想从C代码中传递double数组,对C代码中的std::vectors执行操作,并最终在double数组中反映这些操作。 有没有可能创建一个std::vector来匹配double数组占用的内存? 我已经尝试了几个选项,但是它们都涉及到创建一个新的向量和一个双向量数组的副本

  • 我正试图从服务器获取一个文本文件,所以我已经这样做了: 它完全按照我想要的方式工作。然而编译器痛苦地大喊: https://angular.io/api/common/http/httpclient#get 我在这里做错了什么?

  • Visual Studio 2015社区中的这段代码报告了一个编译错误: 错误(活动)没有重载函数“std::向量的实例 错误C2664'void std::vector