error: size of array 'momentumOfparticles' has non-integral type 'float [i]'

dougp:
I believe this is the problem.

float MassOfparticle[i] = {1,2,3,4,5,6,7,8,9,10};

float MomentumOfParticles[MassOfparticle];




Although it is not apparent, MassOfparticle, when used as an expression in the second statement is interpreted as a *pointer * to the address of the first array element, which is a float. An array dimension must resolve to a positive integer and floats don't do this without massaging.

You are correct it’s a mess and won’t work, but the last part of your explanation is wrong
So Just for correctness indeed [ttMassOfparticle[/tt] is the address of the first (Ill defined) array and so it is an integral number. You Don’t really care what is at that address as it’s not referenced