1struct Term { }; 2struct Boolean : Term { 3 explicit Boolean(bool); 4}; 5struct IsZero : Term { 6 Term *eval(); 7}; 8Term* 9IsZero::eval() 10{ 11 return true ? new Boolean(false) : this; // { dg-error "conditional expression" } 12} 13