错误 C2440:"=":无法从 'char *(__cdecl *)(int,int)' 转换为 en 'GetItemText_t'
error C2440: '=' : cannot convert from 'char *(__cdecl *)(int,int)' to en 'GetItemText_t'
我在代码中收到错误(代码不是我的,它只是在其他网站上发布的)
我收到此错误:
错误 C2440:"=":无法从"字符 *(__cdecl *)(整数,整数)"转换为 en "GetItemText_t"
这是代码:
char* TheatreMenu_GetItemText(int index, int column)
{
if( index >= 0 && index < uiDemoInfo.numDemos)
{
switch(column)
{
case 0:
return uiDemoInfo.demos.at(index).demoName;
break;
case 1:
return UI_LocalizeMapName(uiDemoInfo.demos.at(index).mapName);
break;
}
}
return "";
}
void PatchMW2_TheatreMenu()
{
TheatreMenu_Feeder.feeder = 10.0f;
TheatreMenu_Feeder.GetItemCount = TheatreMenu_GetItemCount;
TheatreMenu_Feeder.GetItemText = TheatreMenu_GetItemText;
TheatreMenu_Feeder.Select = TheatreMenu_Select;
UIFeeders.push_back(TheatreMenu_Feeder);
AddUIScript("loadDemos", TheatreMenu_UIScript_LoadDemos);
AddUIScript("FixDemoServer", TheatreMenu_UIScript_FixDemoServer);
AddUIScript("LaunchDemo", TheatreMenu_UIScript_LaunchDemo);
strcpy((char*)(0x6FB620), "oldrec");
strcpy((char*)(0x708238), "oldstoprec");
Cmd_AddCommand("record", customRecordFunc, &customRecord, 0);
Cmd_AddCommand("stoprecord", customStopRecordFunc, &customStopRecord, 0);
}
错误来自此行:
TheatreMenu_Feeder.GetItemText = TheatreMenu_GetItemText;
希望你能快点帮我,提前谢谢。
亲切克里斯
TheatreMenu_GetItemText
是一个函数名称,我不确定TheatreMenu_Feeder.GetItemText
的类型,因为UIFeeder_t TheatreMenu_Feeder;
虽然你不支持UIFeeder_t
的定义。
是什么导致此错误?你可以查看UIFeeder_t.GetItemText
的定义。和TheatreMenu_GetItemText
的定义一样吗?
顺便说一句,关于这个功能.
char* TheatreMenu_GetItemText(int index, int column)
{
if( index >= 0 && index < uiDemoInfo.numDemos)
{
switch(column)
{
case 0:
return uiDemoInfo.demos.at(index).demoName;
break;
case 1:
return UI_LocalizeMapName(uiDemoInfo.demos.at(index).mapName);
break;
}
}
return "";
}
最后一行,我觉得return NULL
可能会更好。当然,如果这里改了,一些相关的代码可能需要相应的改动
相关文章:
- 是否可以从int转换为enum类类型
- 如何在C++中将一个无符号的 int 转换为两个无符号的短裤?
- 是什么导致了这种使用三进制而不是短整型的有符号int到无符号int转换
- 将字符串中的 int 转换为字母;
- 主.cpp:18:20:错误:从"int*"转换为"int"会失去精度 [-fa
- 将非常大的 int 转换为双倍,在某些计算机上会损失精度
- 如何将矢量<int>转换为字符数组?
- C++ 无法从 const int* 转换为 const_iterator
- 我不断收到错误 C2440'=':无法从"int *(__cdecl *)(int *,int *,int,int)"转换为"int *
- 如何将 int[4] 转换为 std::array<int,4>?
- 如何将data[i].int转换为vaible
- 将 int 转换为字符串,然后连接另一个变量以创建完整扩展名,然后将其转换为 const_char*
- 将私有矩阵形式 int 转换为双 C++
- 无法将参数 1 从 'int' 转换为 'int &'
- 将 int 转换为字符串后始终得到 0
- isspace 函数的性能警告,从 int 转换为布尔值
- 将大 int 转换为浮点数,而不舍入 c++
- 错误:无法将'uint8* {aka unsigned int*}'转换为"常量emxArray_uint8_T*"?
- 将未签名的INT转换为BCD
- 在 C++ 中将 int 转换为双精度