为什么我不能使用将指针作为左值返回的函数?
例如这个作品
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;
}
虽然我可以使用指针变量作为左值,但为什么不能使用返回指针作为左值的函数呢?
此外,当函数返回引用而不是指针时,它就成为有效的左值。