无法在向量中定义push_back
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在向量中定义push_back相关的知识,希望对你有一定的参考价值。
这里我已经定义了push_back在我的代码中正在使用它,但是在执行以下任务后不知道。
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
vector<int> v[1001];
这是下面的错误
prog.cpp:4:12: error: request for member ‘push_back’ in ‘v’, which is of non-class type ‘std::vector<int> [1001]’
#define pb push_back
答案
vector<int> v[1001];
不是向量,它是向量的数组。我猜你是这个意思
vector<int> v;
这是零大小的向量v
。然后可以使用push_back
增加尺寸。但是您可能是这个意思
vector<int> v(1001);
这是大小为1001的向量v
。您也可以通过使用push_back来增大此向量的大小,但是由于它的大小已经为1001,所以我不确定您是否愿意。
没有看到更多代码,这很难确定。
为什么是宏? #define pb push_back
,这有什么意义?请让我知道。
以上是关于无法在向量中定义push_back的主要内容,如果未能解决你的问题,请参考以下文章