你能在标题中包含太多变量吗?

问题描述 投票:0回答:1

我一直在我的代码的某个位置得到运行时错误,并将其缩小到初始化为205的bool。我看了这个问题,这显然是未初始化的bool可以拥有的垃圾。

好的,但是我把它初始化了。此布尔值位于头文件的专用部分中。该类包含一个设置值的方法,另一个包含返回值的方法。漂亮的沼泽标准的东西。所以我设置了一个快速的小测试。

thing.setValue(false);
cout << thing.getValue() <<endl; 

(不是实际的名字,只是为了保持简单)它仍然吐出205.字面上一个语句设置变量,然后下一个只是要求重复它,它给了我垃圾。

有点困惑,我看了一下头文件。在标题的int上方有一个bool声明,所以我对那个进行了类似的测试。它工作得很好。我在标题中交换了两个的顺序。现在bool工作,而int没有。所以在两者之上的标题中有一个vector<int>,结果我不再使用,因为我已经替换了使用它的方法。所以我删除它,瞧,它现在有效。

我似乎无法找到任何相关信息。我想我可能只是不知道要搜索什么来找到答案。我希望这是一个非常明显和愚蠢的错误,一个更有经验的人可以打我的头,所以我可以继续前进。

对于代码示例,它只是一个简单的头文件,就像任何其他类似的头文件

#ifndef concept_H
#define concept_H
class concept {
private:
    //...
    //...
    //...
    int x;
    bool y;
public:
    //bunch of methods//
    void setY(bool whatever);
    bool isY();
};
#endif

方法实现同样微不足道

void concept::setY(bool whatever){
    y=whatever;
}
bool concept::isY(){
    return y;
}

这不是实际的代码;在外围有很多其他的东西,我只是不知道要包括哪些相关。再次希望这是我犯的一个愚蠢的错误,有人可以马上告诉我,但如果不是,我可以提供更多。我只需要帮助甚至知道从哪里开始看。

c++ boolean
1个回答
2
投票

不,您可以声明的变量数量没有设置限制。这不是您的问题的原因。

© www.soinside.com 2019 - 2024. All rights reserved.