编译器错误 C2861

“function name”:无法定义接口成员函数

编译器遇到接口关键字或将结构推断为接口,但随后找到成员函数定义。 接口不能包含成员函数的定义。

示例

以下示例生成 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