讲解为什么会提示“invalid type argument of ‘->‘ (have ‘Data_Ao‘)”错误信息

今天分享一个之前遇到的错误提示,其实就是语法的错误。可能如果对“->”或者“.”的用法不了解,就会容易造成这样的错误,加上如果你的编译器不会提示一下基础的语法错误,就更容易出现。

首先,我们来看一下错误提示:

error: invalid type argument of '->' (have 'Ao')
 else if((adata->ao[3])->flag != 0) 

这里的adata是我定义的一个指针,指向对于的一个结构体,而ao[]我是定义成了一个结构体变量,所以adata采用->指向ao[3]—(adata->ao[3])的用法是正确的,而后面我结构体变量ao[3]这里使用->指向flag就不正确了,因为ao[3]只是一个结构体变量,其指向自己内部的参数,只需要使用"."即可~

所以遇到这种错误情况下,需要去区别如何正确的使用->和.的使用。解决方法呢,也很简单,就是通过编译器提示你的地方,看看你的“->”或者“.”是否使用正确。

好了,今天分享就到这里了~

在这里插入图片描述
本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~

猜你喜欢

转载自blog.csdn.net/OMGMac/article/details/129371127