问题
在 world_type.h里面的struct。species_t也是一个struct。
struct world_t
{
unsigned int numSpecies;
species_t species[MAXSPECIES];
unsigned int numCreatures;
creature_t creatures[MAXCREATURES];
grid_t grid;
};
试图 initialize 一个 world_t world 的 species 数组,但是报错 ”Array type ‘species_t [10]’ is not assignable“
world = {(unsigned)numSpecies};
world.species = species;
原因
上面的代码中,我尝试将species数组赋值给world的species。但是在C++中,不能利用等式给数组赋值。只能逐个给数组的element赋值。
解决方案
world = {(unsigned)numSpecies};
for(int i = 0; i < numSpecies; i++){
world.species[i] = species[i];
}