Compiler Error C3372
Visual Studio 2015
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Compiler Error C3372.
must specify at least 1 interface for attribute 'source' on a coclass
For certain attributes, you must pass an interface name as a parameter.
The following sample generates C3372:
// C3372.cpp
#include <windows.h>
[module(name="MyModule")];
[ object, uuid(373a1a4c-469b-11d3-a6b0-00c04f79ae8f) ]
__interface IMyIface {
HRESULT f1();
};
// to resolve, pass an interface name to the source attribute
// for example, source(IMyIface)
[ coclass, uuid(373a1a4d-469b-11d3-a6b0-00c04f79ae8f), source,
default(IMyIface) ] // C3372
class CMyClass {
};
int main() {
}
Show: