error:在预期整数时使用的聚合值
发布时间:2020-12-14 04:48:09 所属栏目:百科 来源:网络整理
导读:我正在跟随工会 union data { uint64_t val; struct{ .... }}; 我有一个功能 func(union data mydata[]){ printf("%llu",(uint64_t)mydata[0]); // Here is the error} 当我编译此代码时,它给出了以下错误 error: aggregate value used where an integer was
我正在跟随工会
union data { uint64_t val; struct{ .... } }; 我有一个功能 func(union data mydata[]) { printf("%llu",(uint64_t)mydata[0]); // Here is the error } 当我编译此代码时,它给出了以下错误 error: aggregate value used where an integer was expected 解决方法
您无法访问索引联合数组的字段:mydata [0]是联合数据类型的值,不能转换为uint64_t.
您需要访问正确的union成员: printf("%" PRIu64,mydata[0].val); 选择uint64_t值.不需要演员. 另外:使用PRIu64可移植地打印64位值,您不能假设%llu是正确的格式说明符. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |