【发布时间】:2012-08-23 14:08:49
【问题描述】:
我有一个 1D 向量(Vp_cpp),我想转换为 2D 向量(声明为 Vp_2D)。但是,我的实现有点不正确,因为它无法到达“从内部循环出来”这一行。
std::vector<double> Vp_cpp;
std::vector<std::vector<double> > Vp_2D;
Vp_2D.resize(N_cpp);
for (int i = 0; i < N_cpp; ++i)
Vp_2D[i].resize(N_cpp);
for (int j = 0; j < N_cpp; j++)
for (int k = 0; k < N_cpp; k++)
{
cout << "Beginning inner loop" << endl;
Vp_2D[i_cpp][i_cpp2] = Vp_cpp[i_cpp2];
cout << "Out from inner loop" << endl;
}
可能出了什么问题?
【问题讨论】:
-
错误信息?例外?当你运行这个时会发生什么?您是否有更多关于“无法到达线路“..””的详细信息
-
i_cpp和i_cpp2是什么?除了内部循环之外,没有任何地方显示 - 没有声明/定义或赋值。 -
我认为
i_cpp和i_cpp2应该是j和k。 -
什么是
N_cpp、i_cpp和i_cpp2? -
cmets 字里行间说的是:发SSCCE。