我正在尝试在方法中修改 bool(boolean) 字段。该方法接受一个指针bool指针,但似乎无法弄清楚如何正确执行此操作。

这是我想做的类似事情的基本示例:

class WarningManager {
    bool seenWarningA;

    void updateWarnings() {
        pushWarning(&seenWarningA)
    }

    void pushWarning(bool ** warning) {
        **warning = true;
    }
}

此代码示例错误(发送bool *,但必须为bool **),我尝试了其他方法,但没有运气。找不到任何在线示例,但也许我在搜索错误的术语。什么是正确的方法?

最佳答案

由于您有一个类,因此不需要任何参数。

class WarningManager {
bool seenWarningA;

void updateWarnings() {
    pushWarning()
}

void pushWarning() {
    seenWarningA = true;
}
}

使用引用而不是指针更优雅。
class WarningManager {
bool seenWarningA;

void updateWarnings() {
    pushWarning(seenWarningA)
}

void pushWarning(bool & warning) {
    warning = true;
}
}

如果要使用指针,&运算符只给出单个指针而不是双点:
class WarningManager {
bool seenWarningA;

void updateWarnings() {
    pushWarning(&seenWarningA)
}

void pushWarning(bool * warning) {
    *warning = true;
}
}

关于c++ - 从方法修改指针指针字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52141717/

10-11 22:53
查看更多