Auto-win 2023-11-23 11:06 采纳率: 33.3%
浏览 7

C++ enum 指针赋值后传出



```c++
short m = Getsta(&status);

Error enumValue = static_cast<Error>(m);

*e = enumValue;

//以上为正确
//下为错误,不会报错,但值传不出去


short m = Getsta(&status);

*e = (Error)m;

我想接住Getsta()函数的返回值,作为报错enum Error 并指针形式传出,
请问为何后者不行
  • 写回答

2条回答 默认 最新

  • 微软技术分享 优质创作者: 编程框架技术领域 2023-11-23 11:18
    关注

    我觉得可能是因为static_cast强转后的地址和你直接(ERROR)的地址不同,建议你下个断点看下,就一目了然了。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月23日