当我返回指向结构中子结构的指针时遇到错误。错误如下。
evolve.c:28:21: error: incompatible types when returning type ‘PPM_IMAGE {aka struct <anonymous>}’ but ‘PPM_IMAGE * {aka struct <anonymous> *}’ was expected
return (indPointer->image);
所有内容都是相同的,但唯一的区别是多余的星号(这与我错误地返回指针有关。)以下是代码片段:
功能:
PPM_IMAGE *evolve_image (const PPM_IMAGE *image, int num_generations, int population_size, double rate);
退货声明:
return (indPointer->image);
indPointer的声明:
Individual *indPointer = generate_population(population_size, image->width, image->height, image->max_color);
个人结构:
typedef struct {
PPM_IMAGE image; // image
double fitness; // fitness
} Individual;
如您所见,我正在尝试访问indPointer指向的数组的第一个元素。在这第一个元素中,我试图返回个人中的图像子结构。