_friend_lookup

Implements non-standard C++ friend declaration behavior that allows friend declarations to be visible in the enclosing scope.

  #pragma old_friend_lookup on | off | reset
  
  
Example

This example shows friend declarations, that are invalid without #pragma old_friend_lookup.

Listing: Valid and invalid declarations without #pragma old_friend_lookup

class C2;

void f2();

struct S {

     friend class C1;

     friend class C2;

     friend void f1();

     friend void f2();

};

C1 *cp1;    // error, C1 is not visible without namespace declaration

C2 *cp2;    // OK

int main()

{

     f1();  // error, f1() is not visible without namespace declaration

     f2();  // OK

}