编译器错误 C3745

“function”: 只有事件才能被“引发”

只有使用 __event 关键字定义的函数才能传递给 __raise 关键字。

以下示例生成 C3745:

// C3745.cpp
struct E {
   __event void func();
   void func(int) {
   }

   void func2() {
   }

   void bar() {
      __raise func();
      __raise func(1);   // C3745
      __raise func2();   // C3745
   }
};

int main() {
   E e;
   __raise e.func();
   __raise e.func(1);   // C3745
   __raise e.func2();   // C3745
}