在 gdb 中单步执行我的程序,第 108 行直接返回到调用函数,并且不调用 A 类中的复制构造函数,就像(我认为)它应该:
template <class S> class A{
//etc...
A( const A & old ){
//do stuff...
}
//etc...
};
template <class T> class B{
//etc...
A<T> ReturnsAnA(){
A<T> result;
// do some stuff with result
return result; //line 108
}
//etc...
};
有什么提示吗?我已经为此撞墙了 4 个小时,似乎无法想出这里发生了什么。