Export (0) Print
Expand All
Expand Minimize

Compiler Error C3761

'function': 'retval' can only appear on the last argument of a function

The retval attribute was used on a function argument that was not the last argument in the list.

The following sample generates C3761:

// C3761.cpp
#include <atlbase.h>
#include <atlcom.h>

[ module(name=test) ];

__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);

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()

Community Additions

© 2014 Microsoft