为什么说'push_back'还没有被宣布?

Ras*_*hid 3 c++ stl vector

为什么说'push_back'还没有被宣布?

#include <iostream>
#include <vector>
using namespace std;
int main()
{
  vector <int> v(30);
  v[0].push_back(0);
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

Jam*_*lis 14

v[0]是对最初元素的引用vector; 它vector本身不是.元素是type int,它不是类类型对象,因此没有成员函数.

你在找v.push_back(0);

请注意,vector<int> v(30);vector其中创建包含30个元素,每个元素的值为零.呼叫v.push_back(0);会将大小vector增加到31.这可能是也可能不是你想要的行为; 如果不是,你需要澄清你正在尝试做什么.