我的代码出现问题...程序编译,但随后它给出了以下声明"运行时检查失败#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;
答案 0 :(得分:3)
C ++有时对此很挑剔,你试过double result = 0
吗?
答案 1 :(得分:3)
在代码的顶部,您有:
double result;
目前它根本没有初始化,所以编译器不会使用它。因此,您需要对其进行初始化:
double result = 0;
通常很好的做法是初始化你在C ++中使用的每个变量,这样你就不会得到令人讨厌的编译器消息,并且不会冒返回一些随机内存块的风险。你总是希望从一个已知状态开始你的程序,所以如果你知道结果为0,那么一切都很好。