【入门】求大神拯救C++小白。

【入门求助】求大神拯救C++小白。。。
求大神看看我错在哪怎么改呢QAQ感激不尽

# include <iostream>
using namespace std;
struct Date
{
int day,month,year;
};

void add()
{
  if (month==1||month==3||month==5||month==7||month==8||month==10||month==12)
{
   if (day<31)
   day++;
   else
   {
   day=1;
   month++;
   }
}
 else if(month==4||month==6||month==9||month==11)
 {
 if (day<30)
   day++;
   else
   {
   day=1;
   month++;
   }
 }
else if(month==2)
{
if(((year % 4==0) && (year % 100!=0)) || (year % 400==0))
{
if(day<29)
day++;
else
{
day=1;
month++;
}
}
    else
{
  if(day<28)
day++;
else
{
day=1;
month++;
}
}

}
 cout<<day<<"/"<<month<<"/"<<year<<endl;
}


 
    int main()
{
    Date d;
   d.year=2000;
   d.month=12;
   d.day=6;
   add(d);
    return 0;
}

下面是错误QAQ怎么改呢。。
 error C2065: 'month' : undeclared identifier
error C2065: 'day' : undeclared identifier
error C2065: 'year' : undeclared identifier
 error C2660: 'add' : function does not take 1 parameters
------解决思路----------------------
这样改:


#include <iostream>
using namespace std;
struct Date
{
int day,month,year;
};

void add(Date& d)
{
int day = d.day;
int month = d.month;
int year = d.year;

if (month==1
------解决思路----------------------
month==3
------解决思路----------------------
month==5
------解决思路----------------------
month==7
------解决思路----------------------
month==8
------解决思路----------------------
month==10
------解决思路----------------------
month==12)
{
if (day<31)
day++;
else
{
day=1;
month++;
}
}
else if(month==4
------解决思路----------------------
month==6
------解决思路----------------------
month==9
------解决思路----------------------
month==11)
{
if (day<30)
day++;
else
{
day=1;
month++;
}
}
else if(month==2)
{
if(((year % 4==0) && (year % 100!=0)) 
------解决思路----------------------
 (year % 400==0))
{
if(day<29)
day++;
else
{
day=1;
month++;
}
}
else
{
if(day<28)
day++;
else
{
day=1;
month++;
}
}

}
cout<<day<<"/"<<month<<"/"<<year<<endl;
}



int main()
{
Date d;
d.year=2000;
d.month=12;
d.day=6;
add(d);
return 0;
}