Delen via


Compilerfout C3854

De expressie aan de linkerkant van '=' evalueert tot een functie. Kan niet toewijzen aan een functie (een functie is geen l-waarde)

Opmerkingen

Een verwijzing kan niet opnieuw worden geïnitialiseerd. Het afleiden van een verwijzing naar een functie resulteert in een functie, een rwaarde, waaraan u niet kunt toewijzen. Daarom kunt u niet toewijzen via een verwijzing naar een functie.

Example

In het volgende voorbeeld wordt C3854 gegenereerd:

// 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
}