|
//--------------主函数代码------
- int main()
- {
-
- int arrnNum[] = { 5,12,9,61,18 };
- int minNum, maxNum; //这里老师没有赋值
- Count ob;
- ob.get_max_min(arrnNum, sizeof(arrnNum) / sizeof(int),NULL, &minNum);
- //ob.get_max_min(arrnNum, sizeof(arrnNum) / sizeof(int), &maxNum, &minNum);
- cout << "min number is " << minNum << endl;
- cout << "max number is " << maxNum << endl;
- }
复制代码
[编译时的出错提示]
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4700 使用了未初始化的局部变量“maxNum” CountMaxMin d:\我的文档\vsproject\studyc++\countmaxmin\countmaxmin\countmaxmin.cpp 20
//----------------函数代码--------------
- void Count::get_max_min(int arrnNum[], int numLen, int* max/*=NULL*/, int* min/*=NULL */)
- {
- //if (numLen < 0 || (!max && !min)) return; //如果数组为0元素,或者max 和min 值都为 NULL时,返回
- // ! 取反 NULL 取反就是 不为空
- //运算符号! 表示布尔"非" :如果 x 为 True ,返回 False 。如果 x 为 False ,它返回 True
- if (numLen < 0 || (max == NULL && min ==NULL)) return;
- //max == 空
- int maxNum = arrnNum[0];
- int minNum = arrnNum[0];
- for (int i=0; i < numLen; ++i)
- {
- if (maxNum < arrnNum[i])
- {
- maxNum = arrnNum[i];
- }
- if (minNum>arrnNum[i])
- {
- minNum = arrnNum[i];
- }
- }
- if (max) *max = maxNum;
- if (min) *min = minNum;
- }
复制代码
不同版本的编译器对于一些不安全的写法做出的反应不同,老版本可能只是警告,新版本可能就会认为是错误。所以既然楼主当前使用的编译器已经提示为错误了,那么这块就按照提示的来修改
|
上一篇: 在第30课类的声明中,我采用如下代码实现,类里面的公开函数正确吗?下一篇: 屏幕坐标和客户区坐标
|