§5.3.1 一元运算符,第3节
一元运算符&的结果是其操作数的指针。操作数必须是左值或限定符id。
在此情境中,“shall be” 究竟是什么意思?它是否意味着将暂时的地址取出是错误的?我只是想知道,因为 g++ 只给了我一个警告,而 Comeau 拒绝编译以下程序:
#include <string>
int main()
{
&std::string("test");
}
g++ 警告:取临时变量的地址
Comeau错误:表达式必须是一个lvalue或者一个函数指示符。
请问有人拥有微软编译器或其他编译器,能够测试这个程序吗?