Partager via


Erreur du compilateur C2810

'interface' : une interface ne peut hériter qu’d’une autre interface

Une interface peut hériter uniquement d’une autre interface et ne peut pas hériter d’une classe ou d’un struct.

L’exemple suivant génère l’erreur C2810 :

// C2810.cpp
#include <unknwn.h>
class CBase1 {
public:
  HRESULT mf1();
  int  m_i;
};

[object, uuid="40719E20-EF37-11D1-978D-0000F805D73B"]
__interface IDerived : public CBase1 {  // C2810
// try the following line instead
// __interface IDerived {
   HRESULT mf2(void *a);
};

struct CBase2 {
   HRESULT mf1(int a, char *b);
   HRESULT mf2();
};