Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
wyrażenie z lewej strony elementu "=" daje w wyniku funkcję. Nie można przypisać do funkcji (funkcja nie jest wartością l)
Uwagi
Nie można ponownie zainicjować odwołania. Dereferencing odwołania do funkcji daje funkcję, która jest rvalue, do której nie można przypisać. W związku z tym nie można przypisać odwołania do funkcji.
Example
Poniższy przykład generuje kod 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
}