array of Bounce objects ?

ccerrito:

   Bounce bouncer[i] = (BUTTON[i], 5);

That doesn't make sense. You're declaring a local array of Bounce of length i, named bouncer. And you're initialising it to the number 5.

Given that you declared a global array of Bounce, those objects now already exist. It's too late to try to construct them. If you declared the global array bouncer to be an array of pointers to Bounce then you could loop through the array and create a new Bounce and store the addresses in the array. It'd mean accessing them through pointers, but I don't suppose that will bother you.