标题中可以有太多变量吗?
Can you have too many variables in a header?
>我在代码的一个地方不断收到运行时错误,并将其缩小到初始化为 205 的布尔值。我查了这个问题,这显然是未初始化的布尔值可以有的垃圾。
好的,但我初始化了它。此布尔值位于头文件的私有部分中。该类包含一个用于设置值的方法和另一个用于返回值的方法。相当沼泽标准的东西。所以我设置了一个快速的小测试。
thing.setValue(false);
cout << thing.getValue() <<endl;
(不是实际名称,但只是为了简单起见) 它仍然吐出205。从字面上看,一个语句设置了变量,然后下一个语句只是要求重复它,它给了我垃圾。
有些困惑,我看了一下头文件。在标题中bool
的正上方声明了一个int
,所以我对那个进行了类似的测试。它工作得很好。我在标题中交换两者的顺序。现在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;
}
这不是实际的代码;外围还有很多其他的东西,我只是不知道该包含哪些相关内容。再次希望这是我犯的一个愚蠢的错误,有人可以立即告诉我,但如果不是,我可以提供更多。我只需要帮助,甚至知道从哪里开始寻找。
不,您可以声明的变量数量没有设置限制。 这不是您问题的原因。
相关文章:
- 在没有太多条件句的情况下,我如何避免被零除
- 错误:字符数组的初始值设定项太多
- 对象实例化调用构造函数的次数太多
- Levenshtein 两个文件的距离花费了太多时间
- 我有三个 getline,但是一旦编译,输入就太多了
- 静态 constexpr 类成员变量对多线程读取是否安全?
- 将使用太多的纹理插值器 - 带旋转的着色器
- C/C++:socket() 创建在循环中失败,打开的文件太多
- 使用Visual Studio在虚幻引擎中创建一个新的类c ++给了我太多的错误
- 成员变量在多线程 C++ 时自行更改
- C++:数组<>初始值设定项太多
- GLib-ERROR:为GWakeup创建管道:打开的文件太多
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 对全局变量的多线程访问:我应该使用互斥锁吗?
- 我会导致太多内存泄漏,以至于我的计算机无响应吗?
- 当对字符变量使用toupper()时,所述char变量输出多个字符.我该如何防止这种情况发生
- ZeroMq:打开的文件太多.在同一对象上连续增长的fd使用数
- 标题中可以有太多变量吗?
- C 14警告:太多的变量模板标头(应该为0)
- 在类中创建运算符+而不声明太多不必要的变量的最佳方法