次の方法で共有


コンパイラ エラー C3713

'method': イベント ハンドラーのメソッドは、ソースの 'method' と同じ関数パラメーターを持つ必要があります

ソース イベント メソッドと同じパラメーターを使用しないイベント ハンドラー メソッドを定義しました。 このエラーを解決するには、イベント ハンドラー メソッドに、ソース イベント メソッドのパラメーターと同じパラメーターを指定します。

次の例では C3713 が生成されます:

// C3713.cpp
// compile with: /c
[event_source(native)]
class CEventSrc {
public:
   __event void event1(int nValue);
   // try the following line instead
   // __event void event1();
};

[event_receiver(native)]
class CEventRec {
public:
   void handler1() {}

   void HookEvents(CEventSrc* pSrc) {
      __hook(&CEventSrc::event1, pSrc, &CEventRec::handler1);   // C3713
   }

   void UnhookEvents(CEventSrc* pSrc) {
      __unhook(&CEventSrc::event1, pSrc, &CEventRec::handler1); // C3713
   }
};