【问题标题】:Why isn't zlibs z_stream::next_in const?为什么 zlibs z_stream::next_in 不是 const?
【发布时间】:2016-02-08 08:54:42
【问题描述】:

我目前正在将来自另一个堆栈溢出问题的代码(uncompresses data from a QByteArray)集成到应用程序中。

由于我们启用了所有编译器错误,我们必须重新解释 QByteArray::data(): 和 const_cast:

z_stream strm;
strm.next_in = reinterpret_cast<Bytef *>(const_cast<char *>(data.data()));

为什么这个输入参数是非常量的?在我看来,这表明数据以某种方式被修改,这绝对不是我想要的,也不是我认为实际发生的事情。

【问题讨论】:

    标签: c++ qt zlib


    【解决方案1】:

    默认情况下,z_stream 接口函数不是const,可能是出于遗留原因。

    您可以使用const 支持构建zlib,但是通过运行configure--const

    【讨论】:

      猜你喜欢
      • 2019-06-26
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 1970-01-01
      • 1970-01-01
      • 2017-01-11
      相关资源
      最近更新 更多