コンパイラ エラー C3761
'function': 'retval' は関数の最後の引数としてのみ使用できます
retval 属性が、リストの最後の引数ではない関数引数で使用されています。
次の例では C3761 が生成されます。
// C3761.cpp
#define _ATL_ATTRIBUTES 1
#include <atlbase.h>
#include <atlcom.h>
[ module(name=test) ];
[dispinterface]
__interface I
{
[id(1)] HRESULT func([out, retval] int* i, [in] int j);
// try the following line instead
// [id(1)] HRESULT func([in] int i, [out, retval] int* j);
};
[coclass]
struct C : I { // C3761
HRESULT func(int* i, int j)
// try the following line instead
// HRESULT func(int j, int* i)
{
return S_OK;
}
};
int main()
{
}