我的代码显示不稳定的行为。我怀疑某个班级成员是问题的原因。令我吃惊的是,如果在同一个类中声明另一个成员,我的代码就会正常工作。这是我对代码应用的唯一更改:声明另一个类成员。我没有赋予它任何价值,没有。只是宣布它。此外,如果我删除一个未使用的类成员,问题就解决了。拥有未使用的班级成员有什么影响?
class Heroes()
{
public:
//All the class members
int TRG; //The one I suspect being the issue
int FakeClassMember; //If I add this one, problem disappears
};
答案 0 :(得分:1)
所以 - 艾伦建议的一件事是你可能会破坏你的记忆。例如,在一个地方你使用sizeof(你的类),在其他地方你输入一个你认为正确的值。
另一件事是你使用Visual C ++,事情可能与你想象的完全相反。一旦添加了'未使用'成员,如果它具有无效的名称,已经声明,等实际可能会损坏某些代码。在这种情况下,如果您的Visual C ++配置为运行最后一个正确的程序(见下文)。在这种情况下,您运行没有“未使用”成员的程序,但您认为添加它会修复问题。检查下面的设置并阅读编译器警告。这有点纠结,但发生了很多事情。不要只是clisk run / ok等。