【问题标题】:Using the !(not) operator when referring to a variable in a different class [closed]在引用不同类中的变量时使用 !(not) 运算符 [关闭]
【发布时间】:2021-09-08 10:12:05
【问题描述】:

我已经从类 HapticDevice 创建了一个对象,并且希望在引用 device 时使用 !(not) 运算符,但这会导致它更改变量姓名。小伙伴们该怎么办

示例代码:

            HapticsDevice haptic_device;
            if (haptic_device.!device.get()) return; 

【问题讨论】:

  • “当提到设备时”是什么意思? device的类型是什么?
  • 根据你的描述,我猜是(!haptic_device.device).get(),但如果不知道是什么设备,这似乎很奇怪。
  • 你想否定从get()返回的值还是你想否定device?我想这是第一个,但随着运算符重载,第二个也可以工作。请发帖minimal reproducible example
  • 您的问题非常不清楚,从表面上看,您是在问如何编写一个通常是可诊断错误的表达式,并建议它应该是有效的。 haptic.device 是什么类型?你认为haptic.!device 的结果是什么?

标签: c++ class


【解决方案1】:

如果你想得到haptic_device.device,NOT它,然后在NOT结果上调用get,它是(!haptic_device.device).get()。这与(!(haptic_device.device)).get() 相同,因为. 优先于!。事实上,. 的优先级很高。

我怀疑您实际上想要!haptic_device.device.get(),尽管它与!(haptic_device.device.get()) 相同,即调用get(),然后根据get() 返回的内容调用!

【讨论】:

    猜你喜欢
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2014-08-11
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    相关资源
    最近更新 更多