Невозможно определить push_back в векторах - PullRequest
0 голосов
/ 26 апреля 2020

Здесь я определил 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

1 Ответ

0 голосов
/ 26 апреля 2020

vector<int> v[1001]; это не вектор, это массив векторов. Я предполагаю, что вы имели в виду

vector<int> v;

, который представляет собой вектор v нулевого размера. Затем вы можете увеличить размер, используя push_back. Но возможно, что вы имели в виду

vector<int> v(1001);

, который является вектором v размера 1001. Вы также можете увеличить размер этого вектора с помощью push_back, но так как он уже имеет размер 1001 I Я не уверен, что вы захотите.

Не видя больше кода, трудно быть уверенным.

А почему макрос? #define pb push_back, какой в ​​этом смысл? Пожалуйста, дайте мне знать.

...