【发布时间】:2020-06-07 11:47:22
【问题描述】:
我收到错误从不兼容的指针类型传递“add_to_polynomial”的参数 1,但我很确定我不是。但我对 C 很陌生,这是一个作业。
标题,多项式.h
#ifndef POLYNOMIAL_H
#define POLYNOMIAL_H
typedef struct {
void * data;
struct poly_t* next;
} poly_t;
void add_to_polynomial(poly_t * poly, const term_t * term);
#endif
这是在另一个文件中 - polynomial.c
void add_to_polynomial(poly_t* poly, const term_t* term)
{
if(poly->next != NULL)
{ add_to_polynomial(poly->next, term); }
}
在过去的几天里,我尝试了各种各样的东西,但我最终放弃了,来到了这里。就是说 poly->next 是一个不兼容的指针类型......但它是一个指向自身另一个实例的指针,那么这怎么不起作用?哪个是所有错误的意思是正确的?它认为 poly->next 不是 poly_t?还有struct poly_t*和poly_t*怎么不一样?
第一次在这里提问,如果我没有提前提供足够的信息或其他内容,请见谅。
【问题讨论】:
标签: c pointers struct declaration typedef