§5.3.1 一元操作符,第三节
一元&操作符的结果是其操作数的指针。操作数应该是一个左值或者限定符ID。
"shall be"在这里的确切含义是什么?这是否意味着获取临时变量的地址是错误的?我只是想知道,因为g++只给了我一个警告,而comeau拒绝编译以下程序:
#include <string>
int main()
{
&std::string("test");
}
g++ 警告: 取临时变量的地址
Comeau 错误: 表达式必须是左值或函数指针
请问有人有Microsoft编译器或其他编译器可以测试一下这个程序吗?