为了图省事,用一行代码声明并初始化了一个二维数组,然后报错了 

vector<vector<int>> son(m, vector<int>(n, 0));

改成以下代码就正常运行了,具体不知道是什么原因,可能是resize比较重要吧

vector<vector<int>> son(n);
for(int i=0; i<n; i++){
son[i].resize(m);
}