Compiler Error C2687

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at Compiler Error C2687.

type' : exception-declaration cannot be 'void' or denote an incomplete type or pointer or reference to an incomplete type

For a type to be part of an exception declaration, it must be defined and not void.

The following sample generates C2687:

// C2687.cpp  
class C;  
  
int main() {  
   try {}  
   catch (C) {}   // C2687 error  
}  

Possible resolution:

// C2687b.cpp  
// compile with: /EHsc  
class C {};  
  
int main() {  
   try {}  
   catch (C) {}  
}  

Show: