[英]error C2440: '=' : cannot convert from 'char *(__cdecl *)(int,int)' to en 'GetItemText_t'
我在代碼中收到錯誤(該代碼不是我的,它只是在其他網站上發布的)
我收到此錯誤:
錯誤C2440:'=':無法從'char *(__ cdecl *)(int,int)'轉換為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
可能更好。 當然,如果在此進行更改,則一些相關代碼可能需要相應的更改
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.