C++ 未使用的类成员会使代码本身损坏吗?

C++ 未使用的类成员会使代码本身损坏吗?,c++,class,oop,member,C++,Class,Oop,Member,我的代码显示不稳定的行为。我怀疑某个阶级成员是问题的起因。让我吃惊的是,如果一个成员在同一个类中声明另一个成员,我的代码就可以正常工作了。这是我应用于代码的唯一更改:声明另一个类成员。我没有给它赋值,什么都没有。只是宣布而已。另外,如果我删除了一个未使用的类成员,问题就解决了。拥有未使用的类成员会产生什么影响 class Heroes() { public: //All the class members int TRG; //The one I suspect being the is

我的代码显示不稳定的行为。我怀疑某个阶级成员是问题的起因。让我吃惊的是,如果一个成员在同一个类中声明另一个成员,我的代码就可以正常工作了。这是我应用于代码的唯一更改:声明另一个类成员。我没有给它赋值,什么都没有。只是宣布而已。另外,如果我删除了一个未使用的类成员,问题就解决了。拥有未使用的类成员会产生什么影响

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 
};

所以,艾伦建议的一件事是,你可能会破坏你的记忆。例如,在一个地方使用sizeof(您的类),在另一个地方键入一个您认为正确的值

另一件事是你使用Visual C++,事情可能完全相反。一旦添加了“未使用”的成员,如果已经有无效名称,则已经损坏了一些代码,如果已经声明了VisualC++,则配置为运行最后正确的程序(见下文)。在这种情况下,您运行的程序没有“未使用”的成员,但您认为添加它可以修复问题。检查以下设置并读取编译器警告。它有点纠结,但经常发生在粗心的人身上。不要只点击run/ok等


你能用一些代码来说明这个问题吗?你可能在某处损坏了内存。添加未使用的成员会改变类的对象的大小,这可以移动事物,意味着你的贪污效果不那么明显。你使用VisualC++吗?是的,我使用Visual C++。下面是一些代码:class Heroes(){public://所有类成员int-TRG;//我怀疑是问题的一个int-FakeClassMember;//如果我添加这个,问题就会消失};
int
类成员不是问题的原因。修改
英雄
对象时的方式和/或正在执行的操作是。这篇文章提供的信息远远不够,甚至无法得出一个合理的推测性答案,更不用说结论性答案了。我毫不怀疑,您通过调用未定义的行为正在破坏内存,但没有真正的代码,而且很可能得到的最好结果是wags。