我试图创建一个涉及向量的程序,但似乎向量根本不起作用。这就是我的程序:
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector <int> vec(7); //This is what throws the error
cout << "First: " << vec.at(0) << endl;
cout << "Last: " << vec.back() << endl;
vec.push_back(296);
cout << "New last: " << vec.back() << endl;
cout << "Size: " << vec.size() << endl;
return 0;
}
我使用GCC编译。编译不会抛出任何错误,但每次运行它都会崩溃。这是我得到的错误:
The procedure entry point_gxx_personality_v0 could not be located in the dynamic link library C:\[...]\Vectors.exe.
我通过MinGW安装了编译器和库,并且正在学习Mike McGrath的 C ++编程第四版中的语言。
图像:
答案 0 :(得分:0)
请参阅http://en.cppreference.com/w/cpp/container/vector。 使用vector,你必须这样定义。 尝试一下,然后就不会有错误。此外,首先必须调用push_back函数,然后调用vec.at()或vec.back()。在您的示例中,向量中没有数据,因此会出现致命错误。
#include <vector>
#include <iostream>
using namespace std;
int main()
{
vector <int> vec;
vec.push_back(296);
vec.push_back(334);
cout << "First: " << vec.at(0) << endl;
cout << "Last: " << vec.back() << endl;
cout << "New last: " << vec.back() << endl;
cout << "Size: " << vec.size() << endl;
return 0;
}