vc的这个行为不符合标准,但是微软自己把它定义为feature
要改的话:
bool * lut = new bool[5] {}; // all false by initiation
然后在switch case里面相应修改元素
【 在 france00 (next star) 的大作中提到: 】
: 标 题: taking address of temporary array
: 发信站: 水木社区 (Tue Jan 7 08:46:09 2020), 站内
:
: 用mingw,用的是第三方文件。编译提示:taking address of temporary array。
: 网上搜了下,说是MSVC是支持的。
:
: 请教大家:我可以怎么修改。谢谢
:
: const bool* lut;
:
: switch(intf) {
: case PLR_INTF_LRX: lut = (bool[]){[1] = false, [2] = false, [3] = false, [4] = false}; break;
: case PLR_INTF_LTX: lut = (bool[]){[1] = false, [2] = false, [3] = false, [4] = false, [5] = false}; break;
: case PLR_INTF_HRX: lut = (bool[]){[1] = false, [2] = false, [3] = false, [4] = false}; break;
: case PLR_INTF_HTX: lut = (bool[]){[1] = false, [2] = false, [3] = false, [4] = false}; break;
: default: goto fail;
: }
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 58.215.12.*]
--
FROM 119.80.187.*