【问题标题】:const(char)* cannot be modifiedconst(char)* 不能修改
【发布时间】:2016-03-19 12:05:45
【问题描述】:

尝试将 IniFileName 更改为 null(以禁用 .ini 保存)会产生以下错误:

Error: cannot modify const expression (*io).IniFilename.

IniFilename 是一个 const char*。似乎 const 阻止了我更改它的能力。

我正在使用 DerelictImgui,它是对 imGui 的包装器 cimgui 的动态绑定。

有什么办法可以让我修改 IniFilename? 提前致谢。

【问题讨论】:

  • DerelictImgui 绑定中的字段被声明为const char* IniFilename;,这可能是不正确的,因为它使整个字段成为常量,而不仅仅是数据;它应该是const(char)* IniFilename;。您可能希望提交错误。
  • @ColonelThirtyTwo 很有趣!我可能会,但现在,DerelictImgui 有一些比 ini 更受限制的错误。

标签: constants d


【解决方案1】:

您可以使用简单地分配给 null

cast() (*io).IniFilename = null;

cast() 只会从中删除修饰符,以便您可以更改它。

【讨论】:

  • also (*io).IniFilename 与 D 中的 io.IniFilename 相同
猜你喜欢
  • 2019-07-26
  • 2013-10-22
  • 2016-01-20
  • 1970-01-01
  • 2012-06-09
  • 2015-09-22
  • 2022-08-12
  • 1970-01-01
相关资源
最近更新 更多