【发布时间】:2012-01-10 03:05:28
【问题描述】:
这是原型:
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
我该如何解决这个错误?
【问题讨论】:
-
文件
basecombatweapon_shared.cpp使用了一些未定义的类型。这可能是因为您弄乱了#include依赖项(即丢失了一些,或者一些顺序错误)。 -
给出的代码很好(并且 void* 完全有效)。您确定它不是另一个函数并且宏正在向您的代码添加行吗?另外,请查看四周以确保所有函数都有返回值。
-
哪一行是第 47 行?是否有可能您没有正确#include 此处使用的其中一种类型?
-
@pragnar 请参阅下面发布的 pastebin 链接,了解上述 sn-ps 来自的 .cpp 文件的全部内容。原型是第 47 行。该函数在第 2594 行更靠后。