gpt4 book ai didi

c++ - constexpr 和弃用的转换警告

转载 作者:可可西里 更新时间:2023-11-01 15:02:51 26 4
gpt4 key购买 nike

我正在编写一个函数作为 Boost.Interprocess 实验的一部分。在函数中,我将字符串文字分配给声明为 constexpr char* 的变量。当我这样做时,我得到:

警告:不赞成从字符串常量到 char* [-Wwrite-strings] 的转换

我对 constexpr 的理解是,在变量声明中,它的行为就好像变量被声明为 const 一样,但增加了必须初始化变量的规定,并且该初始化必须使用常量表达式。

基于这种理解,我希望 constexpr char* 的行为与 const char* 相同,因此不会发出警告。我是否遗漏了一些有关 constexpr 工作原理的信息?

我正在使用 -std=c++0x 使用 GCC 4.6.0 20110306 进行编译。

对于发出警告的任何理由,我们将不胜感激。谢谢!

最佳答案

constexpr 中的 const 将使您的变量 char* const

您仍然遇到字符串文字是 const char 并且允许将其地址转换为 char* 的问题,但已弃用。

关于c++ - constexpr 和弃用的转换警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287566/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com