栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2021-11-08 error: could not convert ‘{0}‘ from ‘<brace-enclosed initializer list>‘ to

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-11-08 error: could not convert ‘{0}‘ from ‘<brace-enclosed initializer list>‘ to

could not convert ‘{0}’ from ‘《brace-enclosed initializer list>’ to

c++程序,今日使用再平常不过的初始化列表,居然报错

struct sales {
    char bookNo;
    unsigned units_sold = 0;
    double revenue = 0.0;
};

int main() {
    sales a = {0};
    // print(cout, a);
}

错误信息

cpp_primer.cc:62:17: error: could not convert '{0}' from '' to 'sales'
   62 |     sales a = {0};
      |                 ^
      |                 |
      |                 

问题是在结构体内定义初值了,此时初始化列表不能用

将结构体改为

struct sales {
    char bookNo;
    unsigned units_sold;
    double revenue;
};

就可以了

总结

两种初始化方式:

  1. 结构体定义时给定初值
  2. 初始化列表赋值

以上两种方式互斥,只能选择一种使用

参考资料 https://qa.1r1g.com/sf/ask/2644377641/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号