if() のカッコ内で変数定義出来なくて死亡

struct A
{
	A(){}
	A(int dummy){}

	operator bool () const {
		return true;
	}
};

if(int n = 1)
{	// 当然OK

}

if(A a(1))
{	// C2059

}

if(A a)
{	// C2059

}

if(A a = A(1))
{	// OK

}

へー

…真ん中もOKになりませんかね(ぉ