gpt4 book ai didi

c++ - void 参数类型导致缺少类型错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:13:27 26 4
gpt4 key购买 nike

这是原型(prototype):

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();}

然后此代码(包括原型(prototype)和定义)生成的错误消息:

Error 19 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int f:\Mods\CI Testbed\src\game\shared\basecombatweapon_shared.cpp 47

我该如何解决这个错误?

最佳答案

是否定义了“CRecvProxyData”类型?您的代码在其他方面是正确的(假设所有用户定义的类型都已正确定义),但我建议您将函数定义的左大括号和右大括号放在各自的行上。

此外,我对 void* 有异议:它有点像 C 的后遗症,您应该在必要时从源代码中消除它。您可以改用多态性或模板吗?

这可能是您遗漏了#include,或者在您的 include 守卫中犯了错误。如果您可以发布定义“CRecvProxyData”的文件管理器的内容以及您发布的相关代码,那将是一个很大的帮助。否则,我只能推测 :)。

关于c++ - void 参数类型导致缺少类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8798072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com