I am bit new to C++. I am trying to use struct to keep my data better organised.
in the following code I am trying to modify a struct member. all members are named using an int.
I have two problems:
My counder currentParticleCount wont increment after adding to the struct. there seem to be errors in the way I am using the counter i in the for loop to reference the stuct data...
As I said I am quite new to C++ I probably dont know the correct terms for what I am trying to achieve, and am not finding any real answers online.
int currentParticleCount = 0;
struct particle
{
int velocity;
int trajectory;
int currentPosition[2] = {0, 0};
int mass;
};
void createParticle()
{
struct particle currentParticleCount = {
random(1, 10),
random(0, 360),
{random(1, MAX_SCREEN_HEIGHT), random(1, MAX_SCREEN_WIDTH)},
random(1, 10),
};
currentParticleCount++;
}
void runParticles()
{
for (int i = 0; i < currentParticleCount; i++)
{
particle.i.currentPosition[0] = particle.i.currentPosition[0] + ((particle.i.velocity) * cos(particle.i.trajectory));
particle.i.currentPosition[0] = particle.i.currentPosition[0] + ((particle.i.velocity) * sin(particle.i.trajectory));
}
}
I get the following errors:
_particle: In function 'void createParticle()':
144:25: warning: no 'operator++(int)' declared for postfix '++', trying prefix operator instead [-fpermissive]
currentParticleCount++;
^
_particle:144: error: no match for 'operator++' (operand type is 'particle')
_particle: In function 'void runParticles()':
_particle:151: error: expected unqualified-id before '.' token
particle.i.currentPosition[0] = particle.i.currentPosition[0] + ((particle.i.velocity) * cos(particle.i.trajectory));
^
_particle:153: error: expected unqualified-id before '.' token
particle.i.currentPosition[0] = particle.i.currentPosition[0] + ((particle.i.velocity) * sin(particle.i.trajectory));
^
no match for 'operator++' (operand type is 'particle')