运行时检查失败#3 - 变量'结果'正在使用而未初始化

时间:2015-03-10 20:01:46

标签: c++ function

我的代码出现问题...程序编译,但随后它给出了以下声明"运行时检查失败#3 - 变量'结果'正在使用而未被初始化。"然后它在那时结束程序。尝试运行该函数后我所拥有的一切都被忽略了。我该怎么办?

double result;
    for (int i=0; i<nRows; i++)
    {
        absum.push_back(vector<double>());
        for (int j=0; j<nColumns; j++)
        {
            double temp;
            temp = matrixa[i][j]+matrixb[i][j];
            absum[i].push_back(temp);

            cout << temp << '\t';
        }
        cout << endl;
    }
return result;

2 个答案:

答案 0 :(得分:3)

C ++有时对此很挑剔,你试过double result = 0吗?

答案 1 :(得分:3)

在代码的顶部,您有:

double result;

目前它根本没有初始化,所以编译器不会使用它。因此,您需要对其进行初始化:

double result = 0;

通常很好的做法是初始化你在C ++中使用的每个变量,这样你就不会得到令人讨厌的编译器消息,并且不会冒返回一些随机内存块的风险。你总是希望从一个已知状态开始你的程序,所以如果你知道结果为0,那么一切都很好。