int& subtraction(int& a,int& b) {
int* pc = new int;
*pc = a - b;
return (*pc);
}
我在Windows上运行此代码是正确的,但是当我 在Linux上做同样的事情会导致一些问题。它 不会导致运行时错误,问题是什么。 感谢
答案 0 :(得分:2)
它有内存泄漏。考虑这种情况
int a =5, b =7, c =9;
int & d = subtraction(a,subtraction(b,c));
你将丢失减法(b,c)返回的指针的引用,你将无法释放变量。