#include <iostream>
//#include <string.h> //C header
#include <string>
//#include <stdio.h>
using namespace std;
class dayType 

public: 
enum dayTypeWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat/*,unKnown*/}; 
dayType(); 
~dayType(); void SetWeek(dayTypeWeek d); 
void Print(); 
dayTypeWeek GetWeek(unsigned int iAdd = 0); 
dayTypeWeek GetFront(); 
dayTypeWeek GetAfter(); 
private: 
dayTypeWeek dayWeek; 
};// daytype.cpp文件 
//#include "daytype.h" dayType::dayType() 

SetWeek(Mon); 
} ;
dayType::~dayType() 


void dayType::SetWeek(dayTypeWeek d) 

dayWeek = d; 
} void dayType::Print() 

string out;
switch (dayWeek) 

//case unKnown: 
//out = "unKnown"; 
//break; 
case Mon: 
out = "Mon"; 
break; 
case Tue: 
out = "Tue"; 
break; 
case Wed: 
out = "Wed"; 
break; 
case Thu: 
out = "Thu"; 
break; 
case Fri: 
out = "Fri"; 
break; 
case Sat: 
out = "Sat"; 
break; 
case Sun: 
out = "Sun"; 
break; 
} //end switch
cout <<out<<endl; 
} dayTypeWeek dayType::GetWeek(unsigned int iAdd = 0) 

int iDay;
int date;
switch (dayWeek) 

//case unKnown: 
//out = "unKnown"; 
//break; 
case Sun: 
iDays = 0; 
break; 
case Mon: 
iDays = 1; 
break; 
case Tue: 
iDays = 2; 
break; 
case Wed: 
iDays = 3; 
break; 
case Thu: 
iDays = 4; 
break; 
case Fri: 
iDays = 5; 
break; 
case Sat: 
iDays = 6; 
break; 
} //end switch

date=(iAdd + iDay) % 7;  switch(date)
{
case 0:
dayWeek = Sun;
break;
case 1:
dayWeek = Mon;
break;
case 2:
dayWeek = Wed;
break;
case 3:
dayWeek = Thu;
break;
case 4:
dayWeek = Mon;
break;
case 5:
dayWeek = Fri;
break;
case 6:
dayWeek = Sat;
break;
} return dayWeek;
//return (iAdd + dayWeek) % 7; 

dayTypeWeek dayType::GetFront() 

return GetWeek(6); 

dayTypeWeek dayType::GetAfter() 

return GetWeek(1); 
} void main()
{
dayType dT;
dt.SetWeek(Mon);
dt.Print();
dt.GetWeek(2);
dt.Print();
}运行后,出现错误如下:
Compiling...
dayType.cpp
G:\Visual C++6.0 Examples\dayType\dayType.cpp(70) : error C2143: syntax error : missing ';' before 'tag::id'
G:\Visual C++6.0 Examples\dayType\dayType.cpp(70) : error C2501: 'dayTypeWeek' : missing storage-class or type specifiers
G:\Visual C++6.0 Examples\dayType\dayType.cpp(70) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

解决方案 »

  1.   


    dayType::dayType()
    {
    SetWeek(Mon);
    ; 
      多了一个分号
      

  2.   

    dayTypeWeek dayType::GetWeek(unsigned int iAdd = 0) 

    int iDay; :
    dayTypeWeek dayType::GetWeek(unsigned int iAdd) //实现的时候,不能使用默认值 

    int iDay; 
      

  3.   

    错误的代码就不跟你说错哪儿了,大概是学生吧。还是个新手,我给你把正确代码贴出来,你自己对照下吧enum dayTypeWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat/*,unKnown*/}; using namespace std; 
    class dayType 

    public: 

    dayType(); 
    ~dayType();  void SetWeek(dayTypeWeek d); 
    void Print(); 
    dayTypeWeek GetWeek(unsigned int iAdd = 0); 
    dayTypeWeek GetFront(); 
    dayTypeWeek GetAfter(); 
    private: 
    dayTypeWeek dayWeek; 
    }; // daytype.cpp文件 
    //#include "daytype.h" dayType::dayType() 

    SetWeek(Mon); 
    } ; 
    dayType::~dayType() 


    void dayType::SetWeek(dayTypeWeek d) 

    dayWeek = d; 
    } void dayType::Print() 

    string out; 
    switch (dayWeek) 

    //case unKnown: 
    //out = "unKnown"; 
    //break; 
    case Mon: 
    out = "Mon"; 
    break; 
    case Tue: 
    out = "Tue"; 
    break; 
    case Wed: 
    out = "Wed"; 
    break; 
    case Thu: 
    out = "Thu"; 
    break; 
    case Fri: 
    out = "Fri"; 
    break; 
    case Sat: 
    out = "Sat"; 
    break; 
    case Sun: 
    out = "Sun"; 
    break; 
    } //end switch 
    cout <<out <<endl; 
    } dayTypeWeek dayType::GetWeek(unsigned int iAdd) 

    int iDays; 
    int date; 
    switch (dayWeek) 

    //case unKnown: 
    //out = "unKnown"; 
    //break; 
    case Sun: 
    iDays = 0; 
    break; 
    case Mon: 
    iDays = 1; 
    break; 
    case Tue: 
    iDays = 2; 
    break; 
    case Wed: 
    iDays = 3; 
    break; 
    case Thu: 
    iDays = 4; 
    break; 
    case Fri: 
    iDays = 5; 
    break; 
    case Sat: 
    iDays = 6; 
    break; 
    } //end switch date=(iAdd + iDays) % 7; switch(date) 

    case 0: 
    dayWeek = Sun; 
    break; 
    case 1: 
    dayWeek = Mon; 
    break; 
    case 2: 
    dayWeek = Wed; 
    break; 
    case 3: 
    dayWeek = Thu; 
    break; 
    case 4: 
    dayWeek = Mon; 
    break; 
    case 5: 
    dayWeek = Fri; 
    break; 
    case 6: 
    dayWeek = Sat; 
    break; 
    } return dayWeek; 
    //return (iAdd + dayWeek) % 7; 

    dayTypeWeek dayType::GetFront() 

    return GetWeek(6); 

    dayTypeWeek dayType::GetAfter() 

    return GetWeek(1); 
    } void main() 

    dayType dt; 
    dt.SetWeek(Mon); 
    dt.Print(); 
    dt.GetWeek(2); 
    dt.Print(); 
      

  4.   

    代码整理齐了#include <iostream> 
    #include <string> enum dayTypeWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat/*,unKnown*/}; using namespace std; 
    class dayType 

    public: 

    dayType(); 
    ~dayType();  void SetWeek(dayTypeWeek d); 
    void Print(); 
    dayTypeWeek GetWeek(unsigned int iAdd = 0); 
    dayTypeWeek GetFront(); 
    dayTypeWeek GetAfter(); 
    private: 
    dayTypeWeek dayWeek; 
    }; // daytype.cpp文件 
    //#include "daytype.h" dayType::dayType() 

    SetWeek(Mon); 
    } dayType::~dayType() 
    { } void dayType::SetWeek(dayTypeWeek d) 

    dayWeek = d; 
    } void dayType::Print() 

    string out; 
    switch (dayWeek) 

    //case unKnown: 
    //out = "unKnown"; 
    //break; 
    case Mon: 
    out = "Mon"; 
    break; 
    case Tue: 
    out = "Tue"; 
    break; 
    case Wed: 
    out = "Wed"; 
    break; 
    case Thu: 
    out = "Thu"; 
    break; 
    case Fri: 
    out = "Fri"; 
    break; 
    case Sat: 
    out = "Sat"; 
    break; 
    case Sun: 
    out = "Sun"; 
    break; 
    } //end switch 
    cout <<out <<endl; 
    } dayTypeWeek dayType::GetWeek(unsigned int iAdd) 

    int iDays; 
    int date; 
    switch (dayWeek) 

    //case unKnown: 
    //out = "unKnown"; 
    //break; 
    case Sun: 
    iDays = 0; 
    break; 
    case Mon: 
    iDays = 1; 
    break; 
    case Tue: 
    iDays = 2; 
    break; 
    case Wed: 
    iDays = 3; 
    break; 
    case Thu: 
    iDays = 4; 
    break; 
    case Fri: 
    iDays = 5; 
    break; 
    case Sat: 
    iDays = 6; 
    break; 
    } //end switch  date=(iAdd + iDays) % 7;  switch(date) 

    case 0: 
    dayWeek = Sun; 
    break; 
    case 1: 
    dayWeek = Mon; 
    break; 
    case 2: 
    dayWeek = Wed; 
    break; 
    case 3: 
    dayWeek = Thu; 
    break; 
    case 4: 
    dayWeek = Mon; 
    break; 
    case 5: 
    dayWeek = Fri; 
    break; 
    case 6: 
    dayWeek = Sat; 
    break; 
    } return dayWeek; 
    //return (iAdd + dayWeek) % 7; 

    dayTypeWeek dayType::GetFront() 

    return GetWeek(6); 

    dayTypeWeek dayType::GetAfter() 

    return GetWeek(1); 
    } void main() 

    dayType dt; 
    dt.SetWeek(Mon); 
    dt.Print(); 
    dt.GetWeek(2); 
    dt.Print();