Erro do compilador C2861
“nome da função”: uma função membro de interface não pode ser definida
O compilador encontrou a palavra-chave da interface ou deduziu um struct como uma interface, mas depois encontrou uma definição de função membro. Uma interface não pode conter uma definição para uma função membro.
Exemplo
A amostra a seguir gera o erro 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