其他分享
首页 > 其他分享> > VisualStudio_Compiler errorC2232(

VisualStudio_Compiler errorC2232(

作者:互联网

#问题来源

第一次看到有点懵逼,点开C2232

在这里插入图片描述
虽然网站支持翻译,但强烈推荐阅读英文,也不叫推荐吧,如果程序最开始就是由中文发明的。只是读英文可能对理解会更有帮助,同时翻译有时候是机器翻译,可能读起来很奇怪。
在这里插入图片描述
.
.
阅读英文最关键就是不要怕看不懂,看不懂的名词翻译一下就知道了。
operand:操作数
class-key:类键
period:句号
.
.
根据后面Use the period(.)operator for a class,structure,or union.
知道class-key其实指的就是class,structure,union.
所以第一句:’->‘left operand has ‘class->key’ type,use’.’;
意思就是左边的操作数如果是class/structure/union就用句号(.)
那么->就是指针才能使用。
.
.
.
比如
在这里插入图片描述
程序运行良好,没有问题,但注意,结构体指针需要初始化,C语言中指针初始化,可以直接给地址,但注意结构体变量名本身不是地址,区分与数组名的区别,所以使用malloc()函数。至于malloc相关细节,不做赘述。此时我们使用->符号,程序运行良好,没有问题。
但细心的同学发现了吗?stu2 stu3前面没有加struct。
为什么?这里不多说了,可以看我的其他文章。
.
.
.
接着上文,如果你不是使用的结构体指针,只是单纯的结构体变量,那么就要使用句号(.)
比如
在这里插入图片描述
这里我们直接使用了单纯的结构体变量初始化方法:struct stu stu3;
所以后面我们用句号(.)
但是我却加上了struct,为什么?同时注释掉了stu3的malloc()函数初始化?都是一些小细节哦。
现在开始暑假了,准备在暑假记录自己的学习过程吧,文章比较杂乱,因为没什么写文经验,更多出于兴趣,希望能解决遇到同样问题的同学。还有为什么左边的竖线有黄有绿,哈哈哈。

标签:初始化,struct,句号,key,VisualStudio,指针,errorC2232,class,Compiler
来源: https://blog.csdn.net/weixin_45566000/article/details/118615072