ich den folgenden Code hat einen Array zu initialisieren, die funktioniert:Array Zeiger nicht von C Rückkehr ++ Funktion
int main() {
int particle_count = 10000;
MyRNG my_rng = MyRNG(0.0,1.0);
Particle simulation_particles[particle_count];
for (int i = 0; i < particle_count; i++)
{
for (int j = 0; j < 3; j++)
{
simulation_particles[i].assign(j,my_rng.next());
}
}
aber wenn ich versuche, die für Schleifen in Funktionen zu setzen, alle Teilchen auf die gleiche gesetzt bekommen Werte:
void initialize_particle(Particle * p,MyRNG rgen)
{
for (int i = 0; i < 3; i++)
{
float value = rgen.next();
p->assign(i,value);
}
}
void initialize_simulation_particles(int size,Particle * simulation_particles,MyRNG rgen)
{
for (int i = 0; i < size; i++)
{
initialize_particle(&simulation_particles[i],rgen);
}
}
int main() {
int particle_count = 10000;
MyRNG my_rng = MyRNG(0.0,1.0);
Particle simulation_particles[particle_count];
initialize_simulation_particles(particle_count,simulation_particles,my_rng);
danke. Ich war auf dem völlig falschen Weg und dachte, ich würde einen Fehler machen. Bereich und die Array-Zeiger (C++ Mittwoch gestartet). – bordeo