c++向量push_back需要帮助
c++ vector push_back need assistance
这个问题很简单,但我忘了使用c++,不知道还能问哪里。
关于c++中的向量,我有一个问题:当我用对象创建向量时,当我试图在向量上推送新对象时,我会得到一些wierd错误。你能帮我说我应该如何使用push_back(在对象上?(这样它就可以工作了。谢谢
我有.h级:
class x{
public:
x();
double cpuGHz;
int hddGB;
char brand[25];
};
and have main class:
#include "Racunalo.h"
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <vector>
using namespace std;
int main()
{
int n,i;
double cpu;
int hdd;
char bra[25];
vector<Racunalo> vec;
Racunalo rac;
cin >> n;
for (i=0; i<n; i++)
{
cin >> bra;
cin >> hdd;
cin >> cpu;
strcpy(rac.brand, bra);
rac.hddGB = hdd;
rac.cpuGHz = cpu;
vec[i].push_back(rac); // this line is "rotten"
}
更换
vec[i].push_back(rac);
带有
vec.push_back(rac);
祝好运
vec[i].push_back(rac);
^^^^^^^
a reference to Recunalo object
vec[i]
为您提供了vector
的一个元素(对元素的引用(,因此您不能对其push_back
(除非它是具有push_back
函数的类的对象(。这里vec[i]
是指Racunalo
对象。std::vector::push_back
是vector
的成员函数,所以我们在对象上这样调用它:
vec.push_back( rac);
^^^^
std::vector<Recunalo>
std::vector::push_back
Vector就像一个数组,只是它可以动态增长。
pushback是一个添加在容器末尾的方法。如果你创建了一个类似向量a(10(的向量,然后在第11位进行push_back插入,因为前10位都是用0初始化的。因此,为了提供帮助,最好创建一个类似向量a的向量,不带任何大小,然后使用push_back在末尾插入。
矢量a
a.push_back(5(;
相关文章:
- 需要帮助设置在C++中使用的Potrace
- 在指针的帮助下,文本文件中单词的频率
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 如何在Qbutton的帮助下更改Q对话框的宽度
- 需要帮助将结构数组传递给函数
- C++需要帮助从用户那里获得一个整数,并确保它在另外两个整数之间
- 推导 std::vector::back() 的返回类型
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 有人可以帮助我处理正则表达式吗?
- C++调用具有 *this 属性的单个帮助程序函数
- C++:需要帮助了解运算符重载错误
- 需要以下代码的帮助,下面的代码有什么问题
- CS1 项目帮助C++
- 用于检查值是否为其任何参数的帮助程序函数
- 需要有关此 if 语句的帮助
- 类型限定宏帮助程序
- CoreCLR 中的检测探查器 - 将帮助程序程序集加载到 dotnet 进程的方法
- vector.back() 和 vector[vector.size() - 1] 之间的区别?
- NS3 插槽混淆(需要帮助理解)
- 设计帮助 - 为不同类型的消息处理通用接口的设计模式