Erro do compilador C2862
“interface”: uma interface só pode ter membros públicos
Membros protegidos e particulares podem ser acessados somente de outras funções de membro. Esses membros não são usados em uma interface, pois ela pode não fornecer implementações para nenhum de seus membros.
O exemplo a seguir gerará o erro C2862:
// C2862.cpp
// compile with: /c
#include <unknwn.h>
[object, uuid="60719E20-EF37-11D1-978D-0000F805D73B"]
__interface IMyInterface {
HRESULT mf1(void); // OK
protected:
HRESULT mf2(int *b); // C2862
private:
HRESULT mf3(int *c); // C2862
};