Унарные операторы §5.3.1, Раздел 3
Результатом унарного и оператора является указатель на свой операнд. Операнд должен быть lvalue или квалифицированным идентификатором.
То, что точно делает, "должно быть" средним в этом контексте? Это означает, что это - ошибка взять адрес временного файла? Я просто задавался вопросом, потому что g ++ только дает мне предупреждение, тогда как comeau отказывается компилировать следующую программу:
#include <string>
int main()
{
&std::string("test");
}
g ++ предупреждение: taking address of temporary
ошибка comeau: expression must be an lvalue or a function designator
Кто-либо имеет компилятор Microsoft или другие компиляторы и может протестировать эту программу?