Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么说';向后推';还没有申报吗?_C++_Stl_Vector - Fatal编程技术网

C++ 为什么说';向后推';还没有申报吗?

C++ 为什么说';向后推';还没有申报吗?,c++,stl,vector,C++,Stl,Vector,为什么它说“推回”还没有宣布 #include <iostream> #include <vector> using namespace std; int main() { vector <int> v(30); v[0].push_back(0); return 0; } #包括 #包括 使用名称空间std; int main() { 向量v(30); v[0]。推回(0); 返回0; } v[0]是对向量中初始元素的引用;它不是向量本身。元素的

为什么它说“推回”还没有宣布

#include <iostream>
#include <vector>
using namespace std;
int main()
{
  vector <int> v(30);
  v[0].push_back(0);
 return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
向量v(30);
v[0]。推回(0);
返回0;
}

v[0]
是对
向量中初始元素的引用;它不是
向量本身。元素的类型为
int
,它不是类类型的对象,因此没有成员函数

您正在寻找
v.push_back(0)


注意
向量v(30)
创建包含30个元素的
向量
,每个元素的值为零。调用
v.push_back(0)
向量的大小增加到31。这可能是你想要的行为,也可能不是;如果不是,你需要澄清你到底想做什么。

你需要做
v.push_-back(0)
因为
push_-back
是向量的方法,而不是它的元素。

试试这个:

#include <iostream>
#include <vector>
using namespace std;
int main()
{
  vector <int> v(30);
  v.push_back(0);
  return 0;
}
#包括
#包括
使用名称空间std;
int main()
{
向量v(30);
v、 推回(0);
返回0;
}

问题是v[0]是向量中的第一个元素,它是一个int。向量的名称是v

只需使用
v.push_back(0)必须将_推回向量。不进入向量的特定元素。

使用
v.push_back(0)
,因为
v[0]
int
而不是
向量
您的类型错误

v
属于向量类型
v[0]
不是一个向量,而是对第一个元素的引用(它将是一个
int

因此,
v[0]
没有
push_-back
方法。

只有向量本身(
v
)具有该方法。

请提供完整、准确的错误消息,包括它所指的任何行号。