结构体问题请教,大侠指教

wensheng_zh2007 2011-03-18 10:52:17

typedef struct _ScreenID_Relate_Info
{
DWORD screen_id; /* ScreenID */
DWORD state_id; /* StateID */

} StateID_Relate_Info_t, *pStateID_Relate_Info_t;

typedef struct _ScreenTitle_Help_t
{
DWORD state_id;
CComBSTR ScreenTitle;
CComBSTR Help;
} ScreenTitle_Help_t, *pScreenTitle_Help_t;

typedef struct _Coordinate_t
{
WORD X;
WORD Y;
} Coordinate_t;

typedef struct _ComandDisplay_t
{
DWORD state_id;
CComBSTR CommandText;
DWORD CommandStatus;
Coordinate_t LTPoint;
}ComandDisplay_t;

const StateID_Relate_Info_t g_StateID_Relate_Info_Table[] = {
{ SCREEN_ID_HFL_SEL_SPEED_DIAL_TO_REGI, STATEID_VR_TOP }

};

const ScreenTitle_Help_t g_ScreenTitle_Help_Table[] = {
{ STATEID_VR_TOP, _T("コマンドをお話ください"), _T("全てのコマンドを確認する場合は「コマンドリスト」とお話ください")}
};


为什么const StateID_Relate_Info_t g_StateID_Relate_Info_Table[] = {
{ SCREEN_ID_HFL_SEL_SPEED_DIAL_TO_REGI, STATEID_VR_TOP }

};
可以通过编译

const ScreenTitle_Help_t g_ScreenTitle_Help_Table[] = {
{ STATEID_VR_TOP, _T("コマンドをお話ください"), _T("全てのコマンドを確認する場合は「コマンドリスト」とお話ください")}
};通不过编译?
错误提示:
error C2440: 'initializing' : cannot convert from 'enum VRControl_StateDefinition_e' to 'const struct _ScreenTitle_Help_t'
No constructor could take the source type, or constructor overload resolution was ambiguous
...全文
117 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wensheng_zh2007 2011-03-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lanxue_1988 的回复:]

这样改一下吧...

typedef struct _ScreenTitle_Help_t
{
DWORD state_id;//这里改成VRControl_StateDefinition_e state_id;
CComBSTR ScreenTitle;
CComBSTR Help;
} ScreenT……
[/Quote]

也是不可以的
碎碎念 2011-03-18
  • 打赏
  • 举报
回复
这样改一下吧...

typedef struct _ScreenTitle_Help_t
{
DWORD state_id;//这里改成VRControl_StateDefinition_e state_id;
CComBSTR ScreenTitle;
CComBSTR Help;
} ScreenTitle_Help_t, *pScreenTitle_Help_t;

  • 打赏
  • 举报
回复
话说c99支持你说的那种初始化,2003已经摒弃了那种初始化方式
wensheng_zh2007 2011-03-18
  • 打赏
  • 举报
回复
补充:
enum VRControl_StateDefinition_e
{
STATEID_VR_START = 0,
STATEID_VR_RESIDENCE ,
STATEID_VR_TOP ,
STATEID_VR_END ,
};
碎碎念 2011-03-18
  • 打赏
  • 举报
回复

_T("コマンドをお話ください")这个应该可以转化成CComBSTR

应该是其他地方的问题...

lz看看VRControl_StateDefinition_e这个是什么?
太乙 2011-03-18
  • 打赏
  • 举报
回复
_T("コマンドをお話ください"),
这个的类型是enum VRControl_StateDefinition_e

不能隐式转换为const struct _ScreenTitle_Help_t
太乙 2011-03-18
  • 打赏
  • 举报
回复
SCREEN_ID_HFL_SEL_SPEED_DIAL_TO_REGI, STATEID_VR_TOP

这俩都应该是StateID_Relate_Info_t类型的吧?或者可以隐式转换成StateID_Relate_Info_t类型?

_T("コマンドをお話ください"),这应该不行吧?能隐式转换?
太乙 2011-03-18
  • 打赏
  • 举报
回复
CComBSTR--这个是什么类型的?

64,674

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧