Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
}