只读变量的赋值

时间:2014-01-11 20:11:47

标签: c++

class mainClass {
public:
    static const bool testB;

    void testFunction()
    {
         std::cout<<"We're here!";
         testB = true;
    }
};

当我运行这个时,我得到了主题中的错误。我做了一些研究,但无法解决问题以及如何解决问题。

1 个答案:

答案 0 :(得分:0)

您正在定义一个常量(只读变量)testB,并尝试在方法testFunction内更改它的值 - 这是不允许的。想象一下,你有几个其他的方法试图将这个值分配给不同的东西(真/假) - 它实际上不是一个只读的常量,是吗?

尝试更改代码来执行此操作:

static const bool testB = true;

如果你真的想改变它的价值,你需要改变它的声明方式 - 也许是这样的:

static bool testB; // now you can change the value in whatever function you want