Kompilatorfel C3853

'=': Det är inte tillåtet att initiera en referens eller tilldelning igen via en referens till funktion

Anmärkningar

Det går inte att tilldela till en referens via en funktion eftersom funktioner inte är lvalues.

Example

I följande exempel genereras C3853:

// C3853.cpp
// compile with: /EHsc
#include <iostream>
int afunc(int i)
{
   return i;
}

typedef int (& rFunc_t)(int);

int main()
{
   rFunc_t rf = afunc;   // OK binding a reference to function
   rf = afunc;   // C3853, can't reassign to a ref that's an lvalue
   int i = 99;
   int & ri = i;
   std::cout << i << std::endl;
   ri = 0;   // OK, i = 88;
   std::cout << i << std::endl;
}