2015-10-15 171 views
-2

我正在尝试编写一个程序,该程序将对三对角矩阵执行一些研究生级数值分析。C++矢量完整的矢量问题

我很确定我有数据输入,我无法弄清楚为什么代码 vector <vector <double>> x;正在踢回圣经比例的错误。

的代码如下:

#include <iostream> 
#include <vector> 
#include <cstdlib> 
#include <iterator> 
#include <iomanip> 
using namespace std; 

int main() 
{ 
    int i, j; 
    double y; 
    vector< vector<double> > x(10); 

    //Stuff data packets 
    for (i = 0; i < 9; i++) 
    { 
     cin >> y; 
     x.push_back(y); 
    } 
    //display 
    for (j = 0; j < 9; j++) 
    { 
     cout << x[j] << setw(5); 
    } 
    cout << endl; 
    cout << x.size(); //Making sure it's right size 
    return 0; 
} 

如何使一个完整的C++载体的载体!?

+0

等待,你的意思是说矢量<矢量< double>> X(10)线;是不工作的?如果是这样,它会显示什么错误? – spektr

+2

错误在哪里发生?什么是错误(确切消息)? – user463035818

+0

如果您遇到错误并希望获得帮助,您应该在错误中包含错误。 – NathanOliver

回答

4

载体x包含std::vector<double>类型的元素,而y类型为double。这就是为什么你不能push_back的价值yx

2

由于xvector<vector<double>>x.push_back(y);需要一个vector<double>y只是一个double

你要么需要添加yvector<double>,然后推到这x或只是让x一个vector<double>