【发布时间】:2021-08-14 17:34:15
【问题描述】:
我有一点问题。 我在编译时收到标题中提到的错误。 出现错误的行是 pItemData->GetName(), line.
但是,即使我更改了顺序,该行上的任何内容都会给出相同的错误。
当我删除#ifdef 标签时,它们的问题就消失了。但是当我添加这些时,就会出现这个问题。
'void CPythonTextTail::RegisterItemTextTail(DWORD,const char *,CGraphicObjectInstance *,char *)' : 3 arguments cannot be converted from 'const char *' to 'CGraphicObjectInstance *'.
相关文件和定义(.h文件):
#ifdef ENABLE_WEAPON_EVOLUTION_SYSTEM
void CPythonTextTail::RegisterItemTextTail(DWORD VirtualID, const char* c_szText,
CGraphicObjectInstance* pOwner, char * evolutionMergeText)
#else
void CPythonTextTail::RegisterItemTextTail(DWORD VirtualID, const char* c_szText,
CGraphicObjectInstance* pOwner)
#endif
错误行(.cpp 文件)
#ifdef ENABLE_WEAPON_EVOLUTION_SYSTEM
char evolutionMergeText[100]; char evolutionText[6][10] = { "", "Yaygın ", "Seyrek ", "Nadir
", "Efsane ", "Eşsiz " };
sprintf(evolutionMergeText, "%s%s", evolutionText[evolution], pItemData->GetName());
#endif
rkTextTail.RegisterItemTextTail(
dwVirtualID,
#ifdef ENABLE_WEAPON_EVOLUTION_SYSTEM
evolutionMergeText,
#endif
pItemData->GetName(),
&pGroundItemInstance->ThingInstance
);
【问题讨论】:
-
您对错误信息有什么不明白的地方?该函数需要
CGraphicObjectInstance *,而您传递的是const char *。你认为哪个论点是CGraphicObjectInstance *? -
char* evolutionMergeText 当我添加这个时,我得到了这个错误。 const char 已经存在并且工作正常。但是,在添加了我试图包含的 char* evolutionMergeText 之后,由于某种原因它给出了这样的错误。