yuk!
using ? : for void expressions isn't normal c++ practice.  Have
{
  if ()
   x
else
y
}
instead