初始化2-D向量

时间:2017-04-29 22:42:10

标签: c++

我一直在尝试初始化二维矢量,并且我不断收到错误 "期待','或';'或者' {'在令牌"之前,这发生在第一个括号之后/第一行代码之后,但是如果我在第一行的末尾添加分号,我会在{"之前'收到另一个错误说"非限定id。我不知道我正在制作什么语法错误,但任何帮助都会受到赞赏,因为我认为这是一个简单的(有希望的)修复。

vector<vector<double> > IC40_events (10, vector<double> (8,0))
{    
    ifstream IC40_events_data("IC40_exp.dat", ios::in);

    while(IC40_events_data.good())
    {
        for(int i = 0; i < 10; i++)
        {   
            for (int j = 0; j < 8; j++)
            {
                IC40_events_data >> IC40_events[j][i];
            }
        }

        IC40_events_data.close();
    }
    return(0);
}

1 个答案:

答案 0 :(得分:1)

在声明向量之后需要输入分号(如错误消息所示)。

vector< vector<double> > IC40_events (10, vector<double> (8,0));

此外,您不应该在花括号中使用其余代码。您的最终代码应如下所示:

vector<vector<double> > IC40_events (10, vector<double> (8,0));    
ifstream IC40_events_data("IC40_exp.dat", ios::in);
while (IC40_events_data.good()) {
    for(int i = 0; i < 10; i++)
    {   
        for (int j = 0; j < 8; j++)
        {
            IC40_events_data >> IC40_events[j][i];
        }
    }
    IC40_events_data.close();
}
return(0);