读书人

struct有关问题

发布时间: 2012-02-27 10:00:22 作者: rapoo

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;

读书人网 >C++

热点推荐