完整代码如下:
#include <iostream>
using namespace std;
class Date
{
public:
Date();//构造函数
int fun(int y,int m, int d, int n, int w);
~Date();//析构函数
};
int Date::fun(int y, int m, int d, int n, int w)
{
switch (m)
{
case 2:n = 28;
if ((y % 4 == 0 && y % 100 == 0) || (y % 400 == 0))n++;//闰年二月天数加一
break;
case 4:case 6:case 9:case 11:n = 30;
break;
default:n = 31;
}
d++;
if (d > n)d = 1, m++;
if (m > 12)m = 1, y++;
w++;
if (w == 8)w = 1;
return 0;
}
Date date;
int main()
{
int y; int m; int d; int w; int n;
cout << "请输入日期(如2019年2月28日星期四应输入2019 2 28 4):";
cin >> y >> m >> d >> w;
date.fun( y, m, d, w, n);
int choose;
cout << "请选择输出方式:1.x年x月x日星期x 2.x/x/x";
cin >> choose;
if (choose == 1)
{
cout << y << "年" << m << "月" << d << "日星期" << w << endl;
}
else
{
cout << y << "/" << m << "/" << d << endl;
}
return 0;
}
其中第34行若为date.fun( y, m, d, w, n); 编译器会提示:使用未初始化的内存”n".使用了未初始化的局部变量“n"
请问如何修改才能让它成功运行?谢谢啦