编译器错误 C2494

“keyword”不能从筛选器表达式或 __finally/finally 块内调用

不能在 __finallyfinally 块中使用 keyword

以下示例生成 C2494:

// C2494.cpp
#include <malloc.h>

int main() {
   __try {}
   __except ( _alloca(100), 1 ) {}   // C2494
   __try {}
   __finally {
      _alloca(100);   // C2494
   }
}

使用“/clr”时,也可能会发生 C2494。

// C2494b.cpp
// compile with: /clr
#include <malloc.h>

int main() {
   char * buf;
   try {}
   catch (char * buf2) {}
   finally {
      _alloca(100);   // C2494
   }
}