有人可以向我解释为什么我会收到“错误:未在此范围内声明吗?”
num 和 denom 是类 Rationalnumber 的私有(private)成员。
谢谢!
Rationalnumber::Rationalnumber(){
num = 0;
denom = 1;
int * n = new int;
int * d = new int;
*n = num;
*d = denom;
}
Rationalnumber::~Rationalnumber(){
delete n;
}
最佳答案
n
是类构造函数中的局部变量。当构造函数完成时它超出范围时,它不再对应用程序的任何其他部分可见;该内存已泄漏。
在调用析构函数时没有名为 n
的局部变量或成员变量,因此:未在此范围内声明。
关于c++ - 析构函数和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13384911/