Erro do compilador C2254
'function': especificador pure ou especificador de substituição abstract não permitido em função amiga
Uma função friend
é especificada como virtual
pure.
O seguinte exemplo gera o erro C2254:
// C2254.cpp
// compile with: /c
class A {
public:
friend void func1() = 0; // C2254, func1 is friend
void virtual func2() = 0; // OK, pure virtual
friend void func3(); // OK, friend not virtual nor pure
};
void func1() {};
void func3() {};