我正在尝试在方法中修改 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/