Поделиться через


Ошибка компилятора C2861

"имя функции": не удается определить функцию-член интерфейса

Компилятор обнаружил ключевое слово интерфейса или вывел структуру в виде интерфейса, но затем нашел определение функции-члена. Интерфейс не может содержать определение для функции-члена.

Пример

Следующий пример приводит к возникновению ошибки C2861:

// C2861.cpp
// compile with: /c
#include <objbase.h>   // required for IUnknown definition
[ object, uuid("00000000-0000-0000-0000-000000000001") ]
__interface IMyInterface : IUnknown {
   HRESULT mf(int a);
};

HRESULT IMyInterface::mf(int a) {}   // C2861