【问题标题】:Unable to define push_back in vectors无法在向量中定义 push_back
【发布时间】:2020-08-09 16:40:46
【问题描述】:

在这里我定义了 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

【问题讨论】:

标签: c++ algorithm c++11 data-structures c++14


【解决方案1】:

vector&lt;int&gt; v[1001]; 不是向量,它是向量数组。我猜你是这个意思

vector<int> v;

这是一个大小为零的向量v。然后,您可以使用push_back 增加大小。但你可能是这个意思

vector<int> v(1001);

这是一个大小为 1001 的向量 v。您也可以使用 push_back 增加此向量的大小,但由于它的大小已经为 1001,我不确定您是否愿意。

如果没有看到更多代码,很难确定。

为什么是宏? #define pb push_back,这是什么意思?请告诉我。

【讨论】:

  • 但是约翰,货物崇拜中的其他人都在使用它!嘿,你想要一些 Kool-Aid 吗?
  • #define pb push_back 用于节省时间。不用担心,谢谢
  • @EngineerGraduate - 节省时间?你得到了一个你无法确定正面或反面的错误,因为它被宏混淆了。它究竟为您节省了多少时间?
  • 一般用于竞技类节目
猜你喜欢
  • 2013-03-28
  • 1970-01-01
  • 2021-06-23
  • 2020-11-20
  • 2023-04-06
  • 1970-01-01
  • 2016-11-16
  • 2017-03-24
  • 1970-01-01
相关资源
最近更新 更多