如下编译时出现一个错误:在error C2228:

编译时有一个错误:error C2228: left of '.display' must have class/struct/union type
习题程序为:
#include <iostream>
using namespace std;
class date
{
public:
date(int,int,int);
date(int,int);
date(int);
date();
void display();
private:
int month;
int day;
int year;
};
date::date(int m,int d,int y):month(m),day(d),year(y)
{}
date::date(int m,int d):month(m),day(d)
{year=2005;}
date::date(int m):month(m)
{
day=1;
year=2005;
}
date::date()
{
month=1;
day=1;
year=2005;
}
void date::display()
{
cout<<month<<"/"<<day<<"/"<<year<<endl;
}

int main()
{
date d1(10,13,2005);
date d2(12,30);
date d3(10);
date d4();
d1.display();
d2.display();
d3.display();
d4.display();
return 0;
}

小唯快跑啊
浏览 205回答 2
2回答

慕运维8079593

是构造的时候错误date d1(10,13,2005);date d2(12,30);date d3(10);date d4();.....date d4();错了 改为date d4;用 date d4();的话 编译器把d4理解为一个函数了 其实应该是一个类

慕容708150

cout<<month<<"/"<<day<<"/"<<year<<endl;这句变量没有定义
打开App,查看更多内容
随时随地看视频慕课网APP