#include <iostream>
#include <cstdlib>
int& max(int a,int b){
return a>b?a:b;
}
int main()
{
if(int& x=max(1,2); x==2){
std::cout << "x=" << x;
}
}
请问cout<<x输出什么?
。
。
。
。
。
。
行为未定义。因为x在离开if表达式后,虽然x仍在作用域,但是x所引用的临时变量已经销毁。