class test
{
public:
int a;
void init(int _a);
void read(void);
}
我有这个简单的程序。从另一个类中,我用某个值"_a"初始化测试对象。
void init(int _a){
a = _a;
}
初始化:
testObject.init(3);
但是当我输入"read()"时,a的值= -858993460。我知道出了什么问题。它可能是一个不再使用的指针。但是。当我写"a = _a"时,a的VALUE不应该是_a的VALUE的副本吗?
void read(void){
printf("a-value %d n" , a);
}
我如何将_a的值复制到a,以便当_a改变时a不会改变?
我的通灵调试感觉告诉我,要么a
实际上没有设置,要么您实际上没有设置您认为正在设置的a
。
也许你没有在调用read
之前调用init
,或者你在test
的不同实例上调用它们
通常当你得到这样一个混乱的数字时,这是一个没有初始化的"垃圾"数字的迹象。