constexpr用法

如下代码,为什么会报错呢?

constexpr vector<int> nums = {1,2,3};
报错:error: constexpr variable cannot have non-literal type 'const vector<int>'
阅读 2.9k
2 个回答

简单的说,这个函数用于修饰变量、函数、构造函数
看了下代码中报错部分,可能原因为条件代码路径中包含非文字类型导致,可以尝试更改调试

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

因为constexpr变量的值必须在编译时就能确定,变量的类型只能是基本数据类型、指针和引用,而不能是其它标准库类型。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题