请问这段编码为什么总在默认形参函数那里报错?


#include<iostream>
using namespace std;
struct time {
    unsigned int year;
    unsigned int month;
    unsigned int day;
    unsigned int hour;
    unsigned int min;
    unsigned int sec;
}nowtime;//注意标明构造函数形参类型
void Nowtime(unsigned int nowtime.year=2022, unsigned int nowtime.month=3, unsigned int nowtime.day=29, unsigned int nowtime.hour=10, unsigned int nowtime.min=28, unsigned int nowtime.sec=21)
int main()
{
    Nowtime(2021);//1
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2);//2
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28);//3
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11);//4
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11,32);//5
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11,32,17);//6
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    return 0;
}

第12行只写了一个函数申明,函数体都没写啊。而且参数也没这么写法的。

 
#include<iostream>
using namespace std;
struct time {
    unsigned int year;
    unsigned int month;
    unsigned int day;
    unsigned int hour;
    unsigned int min;
    unsigned int sec;
}nowtime;//注意标明构造函数形参类型
void Nowtime(unsigned int year=2022, unsigned int month=3, unsigned int day=29, unsigned int hour=10, unsigned int min=28, unsigned int sec=21)
{
    nowtime.year = year;
    nowtime.month = month;
    nowtime.day = day;
    nowtime.hour = hour;
    nowtime.min = min;
    nowtime.sec = sec;
}
int main()
{
    Nowtime(2021);//1
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2);//2
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28);//3
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11);//4
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11,32);//5
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    Nowtime(2021,2,28,11,32,17);//6
    cout<<"The bjtime is:"<<nowtime.year<<"/"<<nowtime.month<<"/"<<nowtime.day;
    cout<<" "<<nowtime.hour<<":"<<nowtime.min<<":"<<nowtime.sec<<endl;
    return 0;
}

构造函数不是这么写的吧, 至少我没见过这种写法....括号内写形参, 然后构造函数体内进行初始化

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632