返回错误的数据类型?

时间:2018-11-25 07:58:59

标签: c pointers return structure genetic-algorithm

当我返回指向结构中子结构的指针时遇到错误。错误如下。

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指向的数组的第一个元素。在这第一个元素中,我试图返回个人中的图像子结构。

0 个答案:

没有答案