Amb*_*nna 30 c++ insert vector
我试图在循环中创建一个空向量,并希望每次将某个元素读入该循环时向该向量添加一个元素.
#include <iostream>
#include <vector>
using namespace std;
int main()
{
std::vector<float> myVector();
float x;
while(cin >> x)
myVector.insert(x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但这给了我错误信息.
Mar*_*cia 31
您需要使用std::vector::push_back():
while(cin >> x)
myVector.push_back(x);
// ^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
而不是std::vector::insert(),正如您在链接中看到的那样,需要一个迭代器来指示要插入元素的位置.
另外,正如@Joel所评论的那样,你应该删除vector变量定义中的括号.
std::vector<float> myVector;
Run Code Online (Sandbox Code Playgroud)
而不是
std::vector<float> myVector();
Run Code Online (Sandbox Code Playgroud)
通过执行后者,您会遇到C++的Most Vexing Parse问题.
使用push_back:
while(cin >> x)
myVector.push_back(x);
Run Code Online (Sandbox Code Playgroud)
该insert函数采用迭代器作为第一个参数,指示要插入的位置。
另外,您需要去掉声明中的括号myVector:
std::vector<float> myVector;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56239 次 |
| 最近记录: |