这是原型:
void RecvProxy_ToggleSights( const CRecvProxyData* pData, void* pStruct, void* pOut );
然后是函数本身:
void RecvProxy_ToggleSights( const CRecvProxyData* pData, void* pStruct, void* pOut ){
CBaseCombatWeapon *pWeapon = (CBaseCombatWeapon*)pStruct;
if( pData->m_Value.m_Int )
pWeapon->EnableIronsights();
else
pWeapon->DisableIronsights();}
然后错误消息此代码(原型和定义)生成:
错误19错误C4430:缺少类型说明符 - 假定为int。注意:C ++不支持default-int f:\ Mods \ CI Testbed \ src \ game \ shared \ basecombatweapon_shared.cpp 47
如何解决此错误?
答案 0 :(得分:1)
是否定义了'CRecvProxyData'类型?你的代码是正确的(假设所有用户定义的类型都已正确定义),尽管我建议你在自己的行上放置函数定义的开始和结束括号。
另外,我对void *提出了问题:它有点像C的宿醉,你应该在必要的时候从源代码中删除它。你可以改用多态或模板吗?
很可能你错过了#include,或者在你的包含警卫中犯了错误。如果您可以发布文件管理器中定义了'CRecvProxyData'的内容以及您发布的代码,那将是一个很好的帮助。否则,我只能推测:)。