C++中为何会有error C2228: left of.
error C2228: left of '.mazhe' must have class/struct/union type
是C++中常见的一种类型使用错误而产生的编译报错:"'.mazhe'的左边必须是类、结构、联合体之一" , 使用点(.)或箭头(->)引用变量时,操作符左边必须是以上三种数据类型的变量才可以
针对本题:
在使用结构体类型数据时,要先定义结构体变量
定义结构体变量之前,应该先定义结构体
否则就会出现以上错误。
struct score mark; //在定义这个结构体变量mark前,struct score还没有定义,因此,会报错: error C2079: 'mark' uses undefined struct 'score' , 因此,系统就会认为,该变量mark未定义
cin>>a[i].mark.mazhe 这里操作时,mark因未定义,系统不知道其类型,因而产生上面开始提到的错误!error C2228: left of '.mazhe' must have class/struct/union type
改正办法:
把struct score的定义提前就可以了,如下:
struct score//定义结构体类型变量 放到该类型变量定义之前
{
float mazhe;
float math;
float engl;
float lanc;
float phy;
};
struct student
{
char num[10];
char name[10];
char classes[7];
float sum;
float aver;
struct score mark; //这里定义才不会报错
};
error C2228: left of '????????' must have ....
这是C语言编译器发现的语法错误,数据结构前面缺少 truct/class/type 等C语言关键字
c++问题“error C2679: binary '=' : no operator defined which...
因为这里 ArcNode c11,c12;ArcNode c21,c22;ArcNode c41,c42,c43;C22是 ArcNode而不是 *ArcNode的关系 就是指针跟不是指针的问题啦...要改的话要这样吧...ArcNode* c11,c12;ArcNode* c21,c22;ArcNode* c41,c42,c43;c11 = new ArcNode;c12 = new ArcNode;c21 = new ArcNode;c22 = new ArcNo...
怎么php导出excel是空白
我用的utf-8,结果有乱码问题,把class-excel-xml.inc.php utf8_encode($v) 替换成$v就没有乱码问题了。1:第一推荐无比风骚的PHPExcel,官方网站: http:\/\/www.codeplex.com\/PHPExcel导入导出都成,可以导出office2007格式,同时兼容2003。下载下来的包中有文档和例子,大家可以自行研究。抄段例子出来:http:\/\/www....
有哪位老大能告诉我 计算机图形学中关于圆与椭圆的生成算法的源程序...
1. 图形模式的初始化 不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器, 在不同模式下也有不同分辨率。因此, 在屏幕作图之前, 必须根据显示器适配器种类将显示器设置成为某种图形模式, 在未设置图形模式之前, 微机系统默认屏幕为文本模式(80列, 25行字符模式), 此时所有图形函数均不能工...