在C++中变量声明后,在使用前一定要初始化。
1>如下代码:
#include<iostream>
using namespace std;
int main(){
for(int i=0;i<100;i++){
int sum;//这里只是声明,未进行初始化
for(int j=1;j<100;j++){
sum+=j;
}
cout<<"sum["<<i<<"]:"<<sum<<endl;
}
return 0;
}
2>编译上述代码,出现如下信息:
1>------ Build started: Project: InitializeTest, Configuration: Debug Win32 ------
1>Compiling...
1>Main.cpp
1>d:\visual studio 2008\projects\cnn_finite_wordlength_emulator\initializetest\initializetest\main.cpp(8) : warning C4700: uninitialized local variable 'sum' used
1>Linking...
1>Embedding manifest...
1>Build log was saved at "file://d:\Visual Studio 2008\Projects\cnn_finite_wordlength_emulator\InitializeTest\InitializeTest\Debug\BuildLog.htm"
1>InitializeTest - 0 error(s), 1 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
3>总体来看,上述代码编译是没有问题的。运行之:
出现上述情况:“The variable 'sum' is being used without being initialized.”
意思是说:变量‘sum’使用时未进行初始化
注意:这个跟Java中的变量定义和使用不一样。
4>改正
将上述代码中的变量sum进行初始化即可。