§5.3.1 単項演算子、セクション 3
単項 & 演算子の結果は、そのオペランドへのポインターです。オペランドは、左辺値または修飾 ID でなければなりません。
この文脈で「あるべき」とは正確にはどういう意味ですか?一時的なアドレスを取るのはエラーだということですか?g++ は警告のみを表示するのに対し、comeau は次のプログラムのコンパイルを拒否するため、私はただ疑問に思っていました。
#include <string>
int main()
{
&std::string("test");
}
g++警告:taking address of temporary
コモーエラー: _expression must be an lvalue or a function designator
Microsoft コンパイラまたは他のコンパイラを持っていて、このプログラムをテストできる人はいますか?