---
title: "__raise"
ms.date: "11/04/2016"
f1_keywords: ["__raise", "__raise_cpp"]
helpviewer_keywords: ["__raise keyword [C++]"]
ms.assetid: 6f1ae418-5f0f-48b6-9f6e-8ea7e66b239a
---
# __raise
Emphasizes the call site of an event.
## Syntax
```
__raise method-declarator;
```
## Remarks
From managed code, an event can only be raised from within the class where it is defined. See [event](../extensions/event-cpp-component-extensions.md) for more information.
The keyword **`__raise`** causes an error to be emitted if you call a non-event.
> [!NOTE]
> A templated class or struct cannot contain events.
## Example
```cpp
// EventHandlingRef_raise.cpp
struct E {
__event void func1();
void func1(int) {}
void func2() {}
void b() {
__raise func1();
__raise func1(1); // C3745: 'int Event::bar(int)':
// only an event can be 'raised'
__raise func2(); // C3745
}
};
int main() {
E e;
__raise e.func1();
__raise e.func1(1); // C3745
__raise e.func2(); // C3745
}
```
## See also
[Keywords](../cpp/keywords-cpp.md)
[Event Handling](../cpp/event-handling.md)
[Component Extensions for Runtime Platforms](../extensions/component-extensions-for-runtime-platforms.md)