这是我的代码(GCD的简单欧几里德算法),它工作得很好,没有任何错误,但是为什么我会收到这些警告?我做错了什么?
我收到警告:严重性代码说明项目文件行抑制状态警告C26495变量'EuclidAlgo::ch‘未初始化。总是初始化成员变量(type.6)。EuclidAlgo G:\VISUAL STUDIO\EUCLIDALGO\EUCLIDALGO\EUCLIDALGO.CPP 43
警告C26495变量'EuclidAlgo::num1‘未初始化。总是初始化成员变量(type.6)。EuclidAlgo G:\VISUAL STUDIO\EUCLIDALGO\EUCLIDALGO\EUCLIDALGO.CPP 43
警告C26495变量'EuclidAlgo::num2‘未初始化。总是初始化成员变量(type.6)。EuclidAlgo G:\VISUAL STUDIO\EUCLIDALGO\EUCLIDALGO\EUCLIDALGO.CPP 43
警告C26495变量'EuclidAlgo::temp‘未初始化。总是初始化成员变量(type.6)。EuclidAlgo G:\VISUAL STUDIO\EUCLIDALGO\EUCLIDALGO\EUCLIDALGO.CPP 43
#include<iostream>
using namespace std;
class EuclidAlgo
{
public:
int m = 0, n = 0, r = 0, temp, num1, num2, ch;
void input()
{
cout << "\nEnter two numbers to find their CDR : ";
cin >> m;
cin >> n;
num1 = m;
num2 = n;
}
void swap()
{
temp = m;
m = n;
n = temp;
}
void Algorithm()
{
if (n > m)
{
swap();
}
if (m % n == 0)
{
cout << "\n " << n << " is GCD of " << num1 << " and " << num2;
}
else
{
r = m % n;
m = n;
n = r;
Algorithm();
}
}
};
int main()
{
EuclidAlgo o;
o.input();
o.Algorithm();
return 0;
}发布于 2020-01-23 01:45:08
这里:
int m = 0, n = 0, r = 0, temp, num1, num2, ch;您还没有初始化最后四个参数。
为了使警告消失,只需初始化这四个参数,就像您对前三个参数所做的那样,例如
int m = 0, n = 0, r = 0, temp = 0, num1 = 0, num2 = 0, ch = 0;发布于 2020-01-23 01:44:54
对它们进行如下初始化
temp =0, num1 =0 , num2 =0, ch =0;https://stackoverflow.com/questions/59865417
复制相似问题