c++-关于C++ vector 的问题

问题描述

关于C++ vector 的问题
请问下列代码错在哪里?
#include<iostream>
#include<vector>
#include<string>
using std::vector;
using namespace std;
int main()
{
    int word;
    vector<int> var;
    vector<int> res_var;
    cout << "Please enter a group numbers:" << endl;
    while (cin >> word){
        var.push_back(word);
        for (vector<int>::size_type i = 0; i != (var.size()-1); i = i + 2){
            res_var = var[i] + var[i+1];
            cout << res_var << " ; " ;
        }
        if (var.size() % 2 = 1)
            cout << "The last one no add."  << endl;
    }
    return 0;
}
 错误信息:
 [Error] no match for 'operator=' (operand types are 'std::vector<int>' and 'int')
 [Error] no match for 'operator<<' (operand types are 'std::ostream {aka std::basic_ostream<char>}' and 'std::vector<int>')

解决方案

创建vector的时候初始化大小,res_var后面加下标,最后的if里写“==”。

解决方案二:

res_var是一个集合,怎么等于两个数相加,估计你少了下标。或者你想postback?

解决方案三:

vector是一个容器,你能用同样的容器给他赋值,怎么可以用把两个数相加的结果赋给vector

解决方案四:

vector不支持从int的赋值,数字赋值给数字的集合没有意义,估计是忘了下标了。

vector没有定义<<操作符,当然自己也可以定义<<操作符,比如说定义为把所有的成员都用{}包起来。

解决方案五:

你把你自己定义的 i 作为了vector的本身带有的了,你通过自己定义的i坐标去找vector中的坐标,你说可能吗

解决方案六:

可以用int定义res_var,然后放进vector里

解决方案七:

vector需要遍历,然后cout一个个输出元素。不能直接输出vector

时间: 2024-08-23 03:20:53

c++-关于C++ vector 的问题的相关文章

java对象群体的组织:向量Vector

向量的功能: 1.能存储任意对象 2.不能存储基本类型的数据,如39,除非将这些数据包裹在包裹类中 3.其容量可以按需求自动扩充 4.若果不用扩充容量,增加元素方法的效率较高 方式: Vector myVector=new Vector() //初始容量为10 Vector myVector=new Vector(int cap) // 初始容量为cap Vector myVector=new Vector(Collection col) //使用集合col的元素初始化,若果col为数组,需要先

c++-vector iterator not dereferencable怎么处理啊

问题描述 vector iterator not dereferencable怎么处理啊 求解,下面这段代码是可以运行的,不过我把处理的数据换成 (IP (NP (NP (NP (CP (IP (VP (VV ()(NP (NR 法新社)(NR 伦敦) (NT 一日) (NN 电) (NN )) (NN 火星) (NN 探测)))))(NP (NN 计划)))(NP (NN 发言人)))(NP (NR 巴拉特)))(VP (VV 说) (PU ,)(IP (IP (VP (VV 一枚)(IP (

c++-C++ vector部分拷贝的问题

问题描述 C++ vector部分拷贝的问题 比如我有一个自定义类型vectorvector vec;现在要把这个vec根据 vec.size()/2 分成前半部分和后半部分进行处理分别将这两部分存入 vector left 和 vector right请问除了一个个元素push_back之外,有什么好方法吗? 解决方案 http://bbs.csdn.net/topics/110093248 解决方案二: vector可以直接根据iterator设置起始结尾位置来进行复制 解决方案三: 当然是

初始化的一些问题(Vector使用)

import java.util.Vector; import java.util.Iterator; import java.util.Arrays; import java.util.ArrayList; public class VectorDemo{ public static void main(String args[]){ String names[]={"hfdsfng", "zhfcinyafdn"}; String namesp[]=new St

C++中vector使用

(1)vector< 类型 > 标识符 ;(2)vector< 类型 > 标识符(最大容量) :(3)vector< 类型 > 标识符(最大容量,初始所有值):(4) int i[4] = {12,3,4,5};    vector< 类型 > vi(i , i+2); //得到i索引值为3以后的值 :   (5)vector< vector >   //vi 定义2维的容器:记得一定要有空格,不然会报错 1. 在C++中的详细说明 vector

C++ vector用法

在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结. 1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.push_back(a); (4)使用下标访问元素,cout<<vec[0]<<endl;记住下标是从0开始的. (5)使用迭代器访问元素. vector<int>::iterator it; for(it=vec.begi

Java中vector理解2——vector和arrayList的区别

这两类都实现List接口,而List接口一共有三个实现类,分别是ArrayList.Vector和LinkedList.List用于存放多个元素,能够维护元素的次序,并且允许元素的重复.3个具体实现类的相关区别如下: ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要讲已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制

Java的数组(Array)、Vector、ArrayList、HashMap的异同

数组   array(数组)和Vector是十分相似的Java构件(constructs),两者全然不同,在选择使用时应根据各自的功能来确定. 1.数组:Java arrays的元素个数不能下标越界,从很大程度上保证了Java程序的安全性,而其他一些语言出现这一问题时常导致灾难性的后果.        Array可以存放Object和基本数据类型,但创建时必须指定数组的大小,并不能再改变.值得注意的是:当Array中的某一元素存放的是Objrct reference 时,Java不会调用默认的构

Java程序的性能优化StringBuffer与Vector

程序|性能|优化 ? Java使得复杂应用的开发变得相对简单.毫无疑问,它的这种易用性对Java的大范围流行功不可没.然而,这种易用性实际上是一把双刃剑.一个设计良好的Java程序,性能表现往往不如一个同样设计良好的C++程序.在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身.养成好的代码编写习惯非常重要,比如正确地.巧妙地运用java.lang.String类和java.util.Vector类,它能够显著地提高程序的性能.下面我们就来具体地分析一下这方面的问题.

Vector在Java编程中的应用

编程 Vector 类提供了实现可增长数组的功能,随着更多元素加入其中,数组变的更大.在删除一些元素之后,数组变小.Vector 有三个构造函数,public Vector(int initialCapacity,int capacityIncrement) public Vector(int initialCapacity) public Vector() Vector 运行时创建一个初始的存储容量initialCapacity,存储容量是以capacityIncrement 变量定义的增量增