2012-01-10 6 views
1

原因:ボイドパラメータタイプはプロトタイプです。ここ欠落タイプエラー

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が仮定されます。注:どのように私はこのエラーを解決することができます\改造\ CIテストベッド\ SRC \ゲーム\共有\ basecombatweapon_shared.cpp 47

:C++は、デフォルト-INT Fをサポートしていませんか?

+0

ファイル 'basecombatweapon_shared.cpp'は、定義されていないいくつかの型を使用しています。おそらく、あなたは '#include'の依存関係が乱されている(つまり、いくつかの欠落、または間違った順序での欠落)ためです。 –

+0

与えられたコードは問題ありません(そして、void *は完全に有効です)。別の関数ではないと確信しています。マクロはコードに行を追加していますか?また、すべての関数に戻り値があることを確認するために周囲を見てください。 – slugonamission

+0

与えられた行のどれが47行目ですか?ここで使用しているタイプのうち1つを#正しく含んでいない可能性はありますか? –

答えて

1

タイプ 'CRecvProxyData'は定義されていますか?そうでなければあなたのコードは正しいです(すべてのユーザ定義型が適切に定義されていると仮定します)。ただし、関数定義の開始と終了のカッコをそれぞれの行に配置することをお勧めします。

また、私はvoid *に問題があります。これはCからの二日酔いです。必要に応じてソースコードから排除することを目指すべきです。代わりに多型またはテンプレートを使用できますか?

#includeが見つからないか、インクルードガードにエラーが発生している可能性があります。 'CRecvProxyData'が定義されているファイラーの内容と投稿したコードを囲むコードを投稿できる場合は、大きな助けになります。さもなければ、私は推測するしかありません:)。

+0

ここにCRecvProxyDataが定義されています: '//これはRecvProxy関数に渡されます。 クラスCRecvProxyData { public: \t const RecvProp \t * m_pRecvProp; \t \t //受け取っているプロパティ。 \t DVariant \t \t m_Value; \t \t \t //保存する値。 \t int \t \t \t \t m_iElement; \t \t \t //取得している配列要素。 \t int \t \t \t \t m_ObjectID; \t \t \t //参照されているオブジェクト。 }; '元のコードがあるcppファイルの実体にpastbinリンクを投稿します。 – Geowil

+0

http://pastebin.com/GubdCYUG cppファイル全体のpastebinリンクがあります。 – Geowil

+2

'CRecvProxyData'の定義が' dt_recvから出てきているようです。h 'は、ヘッダーはあなたのソースに含まれていません。 – DRH

関連する問題