Errore del compilatore C3853
'=': l'inizializzazione di un riferimento o un'assegnazione tramite una funzione di riferimento non è valida
Impossibile assegnare a un riferimento tramite una funzione perché le funzioni non sono lvalue.
Gli esempi seguenti generano l'errore 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;
}