无法在向量中定义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的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法将对象 push_back 放入 C++ 多维向量中

如何在 STL 向量中实现 push_back?

指针定义后 C++ vector.push_back 崩溃

push_back 上的分段错误[关闭]

创建自定义 Vector 类错误

C++ - 没有匹配的成员函数调用“push_back”