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
)具有该方法。请提供完整、准确的错误消息,包括它所指的任何行号。