编译时的错误捕捉(二)

2013-04-24 12:15:55 · 作者: · 浏览: 929

 

    关于枚举的:

    [cpp]

    #include "stdafx.h"

    enum { SUM, MON, TUE, WED, THU, FRI, SAT };

    enum { JAN = 1, FEB, MAR, APR, MAY, JUN };

    void IOnlyAcceptWeekType(int WeekType)

    {

    }

    int _tmain(int argc, _TCHAR* argv[])

    {

    IOnlyAcceptWeekType(SUM);

    IOnlyAcceptWeekType(JAN);

    return 0;

    }

    但是现在接受的却不是我们想要的类型,所以不建议使用枚举创建整型常量,而是用他们创建新类型:

    [cpp]

    #include "stdafx.h"

    typedef enum { SUM, MON, TUE, WED, THU, FRI, SAT } weekType;

    typedef enum { JAN = 1, FEB, MAR, APR, MAY, JUN } MonthType;

    void IOnlyAcceptWeekType(weekType WeekType)

    {

    }

    int _tmain(int argc, _TCHAR* argv[])

    {

    IOnlyAcceptWeekType(SUM);

    IOnlyAcceptWeekType(JAN); // error

    return 0;

    }