Почему я не могу использовать функцию, возвращающую указатель как lvalue?
Например, этот работает
int* function()
{
int* x;
return x;
}
int main()
{
int* x = function();
x = new int(9);
}
но не это
int* function()
{
int* x;
return x;
}
int main()
{
int* x;
function() = x;
}
Хотя я могу использовать переменную-указатель как lvalue, почему я не могу использовать функцию, возвращающую указатель как lvalue?
Кроме того, когда функция возвращает ссылку вместо указателя, она становится допустимым lvalue.
x = somepointer;
или*x = somepointer;
)? Есть разница. - person Amber   schedule 27.04.2010