gpt4 book ai didi

c++ - bool 值未更改

转载 作者:行者123 更新时间:2023-11-28 06:42:16 25 4
gpt4 key购买 nike

我正在尝试使用 bool 值来保持我所处的状态。在我的头文件中,我声明:

bool *modified;

在我的类构造函数中,我将状态初始化为 false:

bool initState = false;
modified = &initState;

然后我有一个将状态更改为 true 的按钮:

bool change = true;
modified = &change;

我还有一个查看状态的按钮:

if(!*modified){
// doing something
} else{
// do something else
}

问题是如果我真的改变了状态,!*modified 仍然会是 true。我不知道问题出在哪里。有没有人知道它在哪里。

最佳答案

您正在更改 modified 的值,它是一个 bool*,并且可能指向堆栈分配的数据,这些数据将在函数返回时被销毁。您想更改modified指向的值。

bool initState = false;
*modified = initState;

bool change = true;
*modified = change;

这是假设 modified 指针实际分配在某处。

关于c++ - bool 值未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25760408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com