This documentation is archived and is not being maintained.

Compiler Error C3354

Error Message

'function' : the function used to create a delegate cannot have return type 'type'

The following types are invalid as return types for a delegate:

  • Pointer to function

  • Pointer to member

  • Pointer to member function

  • Reference to function

  • Reference to member function

The following sample generates C3354:

// C3354_2.cpp
// compile with: /clr /c
using namespace System;
typedef void ( *VoidPfn )();

delegate VoidPfn func(); // C3354
// try the following line instead
// delegate  void func();

The following sample generates C3354:

// C3354.cpp
// compile with: /clr:oldSyntax /c
#using <mscorlib.dll>
using namespace System;

typedef void (*VoidPfn)();

__delegate VoidPfn func();   // C3354
// try the following line instead
// __delegate void func();
Show: