Teilen über


Compilerfehler C3743

hook/unhook kann nur auf eine gesamte Schnittstelle angewendet werden, wenn der Parameter „layout_dependent“ von event_receiver „true“ ist

Bemerkungen

Die __unhook-Funktion variiert in der Anzahl der Parameter, die sie auf der Grundlage des an den layout_dependent Parameter in der event_receiver Klasse übergebenen Werts verwendet.

Example

Im folgenden Beispiel wird C3743 generiert:

// C3743.cpp
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
[module(name="xx")];
[object] __interface I { HRESULT f(); };

[event_receiver(com, layout_dependent=true), coclass]
struct R : I {
        HRESULT f() {
      return 0;
   }
        R() {
   }

   R(I* a) {
      __hook(I, a, &R::f);   // C3743
      // The following line resolves the error.
      // __hook(I, a);
   }
};