Я получаю ошибку в коде (код не мой, он просто был выпущен на другом сайте)
Я получаю эту ошибку:
ошибка 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
определение TheatreMenu_GetItemText
?
BTW, об этой функции.
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
может быть лучше. Конечно, если здесь изменено, некоторым связанным кодам может потребоваться соответствующее изменение
TheatreMenu_Feeder.GetItemText