// Build don't link: // GROUPS passed friends // Special g++ Options: -Wreturn-type extern "C" int good_friend(int); extern "C" int bad_friend(); class assembler { friend int good_friend(int); friend int bad_friend(); void *parts; }; assembler obj; int good_friend(int) { obj.parts = 0; } // ERROR - non-void int bad_friend() { obj.parts = 0; } // ERROR - non-void