我从GCC遇到奇怪的错误,例如
main.c:117:3: warning: passing argument 2 of ‘Adsorbate_Timestep’ from incompatible pointer type [enabled by default]
Adsorbate.h:95:6: note: expected ‘struct Substrate *’ but argument is of type ‘struct Substrate *’
请注意,预期参数与实际参数相同。
我有几个头文件,它们定义了自己的结构,并声明了使用这些结构的函数,以及来自其他头文件的结构。
解决:
解决方法是确保每个头文件至少具有每个结构的减速度(当然,不需要再次声明头文件中定义的结构)。