Given the following member function, how can I return a character string (an array element)? I keep getting an error that says that it "cannot convert from 'char' to 'char Date::*' ". I also have an error that says that 'M' is an undeclared identifier. However, I have this member function declared as a private member of my class as well as the variable 'M'. Any help would be appreciated.
class Date
{
int M,D,Y,DOY;
bool leapyear;
char *ly;
bool IsLeapYear();
void CalcDOY();
void ConvertToMthDay();
char *Get_Month_Name(char Option);
public:
void show();
int Get_Day();
int Get_Month();
int Get_Year();
int Get_DOY();
bool Get_Leap_Year();
Date(int M2,int D2,int Y2); //constructor
Date(int doy, int yr); //constructor
Date(); //constructor
};
char Date::*Get_Month_Name(char Option)
{
char full_name[12][10] =
{"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
char abbr_name[12][9] =
{"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
switch (Option) {
case 'F':
return full_name[12][M - 1];
case 'A':
return abbr_name[12][M - 1];
}
}
class Date
{
int M,D,Y,DOY;
bool leapyear;
char *ly;
bool IsLeapYear();
void CalcDOY();
void ConvertToMthDay();
char *Get_Month_Name(char Option);
public:
void show();
int Get_Day();
int Get_Month();
int Get_Year();
int Get_DOY();
bool Get_Leap_Year();
Date(int M2,int D2,int Y2); //constructor
Date(int doy, int yr); //constructor
Date(); //constructor
};
char Date::*Get_Month_Name(char Option)
{
char full_name[12][10] =
{"January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"};
char abbr_name[12][9] =
{"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
switch (Option) {
case 'F':
return full_name[12][M - 1];
case 'A':
return abbr_name[12][M - 1];
}
}