首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

struct有关问题

2012-02-27 
struct问题#includestdio.h#includestdlib.h#includestring.htypedefstruct{chartitle[1]enum{DISP

struct问题
#include   <stdio.h>
#include   <stdlib.h>
#include   <string.h>

typedef   struct
{
  char   title[1];
  enum     {   DISPLAY_SUBMENU   =   0,   PERFORM_MENU_HANDLE   }   menu_action;
  union  
  {
  int   menu_id;
  int   menu_handle_id;
  }   menu_action_parameter;
}ESC_MENU_ITEM;


void   main()
{
ESC_MENU_ITEM   item;
item.menu_action   =   DISPLAY_SUBMENU;
}


报错如下:
error   C2065:   'DISPLAY_SUBMENU '   :   undeclared   identifier
C:\Documents   and   Settings\hp\桌面\enum.cpp(21)   :   error   C2440:   '= '   :   cannot   convert   from   'int '   to   'enum   '
                Conversion   to   enumeration   type   requires   an   explicit   cast   (static_cast,   C-style   cast   or   function-style   cast)
Error   executing   cl.exe.

[解决办法]
item.menu_action = ESC_MENU_ITEM::DISPLAY_SUBMENU;
[解决办法]
enum
{
DISPLAY_SUBMENU = 0,
PERFORM_MENU_HANDLE
};

typedef struct
{
char title[1];
int menu_action;
union
{
int menu_id;
int menu_handle_id;
} menu_action_parameter;
}ESC_MENU_ITEM;


void main()
{
ESC_MENU_ITEM item;
item.menu_action = DISPLAY_SUBMENU;
}

[解决办法]
这样写:
item.menu_action = ESC_MENU_ITEM::DISPLAY_SUBMENU;

热点排行