我一直在寻找解决这个小 bool 指针引用问题的方法,但找不到解决方案。我知道 C++ 在使用指针和引用时会变得复杂。
下面的代码片段使用类似 bool*
引用的流程,我想将 temp5 值(即 true
)分配给 bool* 一直到 temp并打印出来。然而,这最终会导致段错误。想知道在这种情况下出了什么问题,或者我对指针和引用缺少什么。谢谢!
#include <iostream>
int main()
{
bool* temp= nullptr;
bool* temp2;
bool* temp3;
temp2 = temp;
temp3=temp2;
bool temp5 = true;
*temp3 = temp5;
std::cout << *temp <<std::endl;
return 0;
}
最佳答案
您的 temp3
未初始化。取消引用它可能会导致访问冲突。并且 temp
是 nullptr
,取消引用它(特别是 - 通过指针分配)也是被禁止的。换句话说,您有很多指示,但所有指示都没有指向任何地方。
此外,尚不清楚这段代码实际应该做什么。 你想要这样的东西吗?
int main()
{
bool value = false;
bool* temp= &value;
bool* temp2;
bool* temp3;
temp2 = temp;
temp3=temp2;
bool temp5 = true;
*temp3 = temp5;
std::cout << *temp <<std::endl;
return 0;
}
关于c++ - 在 C++ 中相互引用 bool 指针的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39921047/