在此代码中:
vector<vector<int> > outer_vec;
outer_vec.push_back(vector<int> inner_vec); //THIS FAILS
但是这个:
vector<vector<int> > outer_vec;
vector<int> inner_vec;
outer_vec.push_back(inner_vec); //THIS WORKS FINE
总之,为什么在第一种情况下没有创建对象inner_vec
。
答案 0 :(得分:3)
您的语法不正确。如果您只想推回新的tbl_log
,则应为:
vector
使用std::vector<std::vector<int>> outer_vec;
outer_vec.push_back(std::vector<int>());
创建新的vector
的地方