使用C ++ 11,Ubuntu 14.04和GCC默认工具链。
此代码失败:
constexpr std::string constString = "constString";
错误:constexpr变量'constString'的类型'const string {aka const std :: basic_string}'不是字面量...因为...'std :: basic_string'具有非平凡的析构函数
是否有可能使用std::string
的constexpr
?(显然不是...)如果是这样,怎么办?有没有其他方法可以在constexpr
?中使用字符串?
不,您的编译器已经为您提供了全面的说明。
但是您可以这样做:
constexpr char constString[] = "constString";
在运行时,可以使用它std::string
在需要时构造一个。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句