Compiler Error C2723


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on

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

function' : 'specifier' specifier illegal on function definition

The specifier cannot appear with a function definition outside of a class declaration. The virtual specifier can be specified only on a member function declaration within a class declaration.

The following sample generates C2723 and shows how to fix it:

// C2723.cpp  
struct X {  
   virtual void f();  
   virtual void g();  
virtual void X::f() {}   // C2723  
// try the following line instead  
void X::g() {}