Compiler Error C2689


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 C2689.

function' : a friend function cannot be defined within a local class

You can declare but not define a friend function in a local class.

The following sample generates C2689:

// C2689.cpp  
// compile with: /c  
void g() {  
   void f2();  
   class X {  
      friend void f2(){}   // C2689  
      friend void f2();   // OK