Kesinlikle bir şey eksik, ama neden bu derler (hem g ++ & clang ++ ile) anlamıyorum:
struct A
{
};
struct B
{
};
int main()
{
A a(B);
}
Her şeyden önce, B
bir tür ... bir değer değil. Bu kodu nasıl yorumlamalıyım?
A a(B());
Değişken tanımı veya işlev bildirimi olabilecek bir durum değildir .
struct A{}; int main() { A(foo); }
derleyicileri olduğu gibi bilmek şaşırtıcı olurdu foo
.