-2

我写了下面的代码

#include <vector>
#include <cmath>
#include <cfloat>
#include <iostream>
#include <algorithm>
using namespace std;



vector< vector<double> > merge_sort(vector< vector<double> >& source, vector< vector<double> >& result){





}

int main(){

       vector < vector<double> >test;
       vector < vector<double> >temp;

    merge_sort(test, temp);

}

除了我的例外,程序关闭了,我只是得到了不好的分配期望,我不知道为什么,我什至没有访问任何元素。

请告诉我如何解决它。

提前谢谢。

4

2 回答 2

7

您的问题是您的函数具有返回类型,但您没有返回任何内容。这会给你未定义的行为。见§6.6.3:

从函数的末尾流出相当于return没有值的 a;这会导致值返回函数中的未定义行为。

于 2013-05-03T12:38:39.797 回答
2

正如我在评论中所说,因为您实际上并没有返回任何东西,所以您现在有未定义的行为。最有可能在尝试清理堆栈时崩溃。

于 2013-05-03T12:39:54.083 回答