Error del compilador C3763
"type": "retval" y "out" solo pueden aparecen en un tipo de puntero de datos
Los atributos out o retval solo pueden aparecen en parámetros de puntero de tipo. Quite el atributo o convierta el parámetro del puntero de tipo.
El ejemplo siguiente genera el error C3763:
// C3763.cpp
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlplus.h>
#include <atlcom.h>
[ module(name=test) ];
[ dispinterface, uuid("00000000-0000-0000-0000-000000000001") ]
__interface IF84 : IDispatch
{
[id(0x00000002)]HRESULT m2([out]unsigned char);
};
[ coclass, uuid("00000000-0000-0000-0000-000000000002") ]
class CF84 : public IF84
{ // C3763
public:
HRESULT __stdcall m2(unsigned char i)
{
return S_OK;
}
};
int main()
{
}