Kompilatorfel C3854

uttryck till vänster om '=' utvärderas som en funktion. Det går inte att tilldela till en funktion (en funktion är inte ett l-värde)

Anmärkningar

Det går inte att initiera om en referens. Om du avrefererar en referens till en funktion returneras en funktion, som är ett rvalue, som du inte kan tilldela till. Därför kan du inte tilldela via en referens till en funktion.

Example

I följande exempel genereras C3854:

// C3854.cpp
int afunc(int i)
{
   return i;
}

typedef int (& rFunc_t)(int);
typedef int (* pFunc_t)(int);

int main()
{
   rFunc_t rf = afunc;   // OK binding a reference to function
   pFunc_t pf = &afunc;   // OK initializing a pointer to function

   *pf = &afunc;   // C3854
   // try the following line instead
   // pf = &afunc;
   *rf = &afunc;   // C3854
}