You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dev-C++中vector用户输入时无匹配运算符问题咨询

问题分析与解决方案

你的代码存在两个核心问题,导致了无匹配运算符的报错:

  1. 错误的容器定义:vector<int> v[6]; 定义的是包含6个vector<int>对象的数组,而非单个可存储int的vector。C++的数组没有size()成员函数,所以v.size()会直接报错。
  2. 不合法的输入操作:即便修正循环条件,cin>>v[i]也无法执行——因为v[i]是vector<int>类型,C++标准库没有为vector重载>>运算符来直接读取整个容器的内容。

修正方案一:定义单个可存储6个int的vector

如果你实际需求是一个能装6个整数的vector,把数组定义改成vector的构造初始化即可:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> v(6); // 初始化一个大小为6的vector,每个元素默认值为0
    for(int i=0; i<v.size(); i++){
        cin>>v[i]; // 直接给vector的单个元素赋值
    }
    return 0;
}

修正方案二:保留vector数组(6个独立vector)

如果你确实需要6个独立的vector对象,需要调整循环逻辑,并针对每个vector单独处理输入:

#include <iostream>
#include <vector>
using namespace std;

int main() {
    vector<int> v[6]; // 6个空的vector<int>
    // 示例:给每个vector输入3个整数
    for(int i=0; i<6; i++){ // 数组长度固定为6,直接用常量循环
        cout << "输入第" << i+1 << "个vector的3个元素:" << endl;
        for(int j=0; j<3; j++){
            int num;
            cin >> num;
            v[i].push_back(num); // 向当前vector添加元素
        }
    }
    return 0;
}

内容的提问来源于stack exchange,提问作者user17649288

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 07:45:48