Compiler Error C3745

'function': only an event can be 'raised'

Only a function defined with the __event keyword can be passed to the __raise keyword.

The following sample generates 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

Community Additions