gpt4 book ai didi

c++ - 从类型 'const char*' 到类型 '__FlashStringHelper*' 的 reinterpret_cast 丢弃限定符

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:15:19 25 4
gpt4 key购买 nike

我想在 AVR Studio 中使用 Adafruit_CC3000 arduino 库。我关注了this将 Adafruit arduino lib 与 AVR studio 一起使用的说明,因此我也可以使用其他 AVR 功能。但是我在编译代码时遇到了 50 次相同的错误。

Error 5 reinterpret_cast from type 'const char*' to type '__FlashStringHelper*' casts away qualifiers E:\arduino-1.0.1\libraries\Adafruit_CC3000\Adafruit_CC3000.cpp 183 3 ATmega32_WSClient_CC3K

我在网上搜索过此类错误。但我不明白这个问题。我要求让我了解此代码中的哪些内容会产生此错误?

最佳答案

reinterpret_cast可以在不相关的指针类型之间进行转换,但不能删除 constvolatile预选赛。你需要const_cast为此。

选项是(大致按照肮脏程度递增的顺序):

  • 首先不要使用错误的指针类型;
  • 转换到const __FlashStringHelper* , 如果您不需要修改对象;
  • 来自 char*如果您确实需要修改它;
  • 使用reinterpret_cast<__FlashStringHelper*>(const_cast<char*>(whatever))或蛮力 (__FlashStringHelper*)whatever如果您坚持完全放弃类型系统。

关于c++ - 从类型 'const char*' 到类型 '__FlashStringHelper*' 的 reinterpret_cast 丢弃限定符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28149663/

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