Проходя через мою программу в 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...
};
Есть намеки? Я уже четыре часа бьюсь головой об стену об этом и, похоже, не могу понять, что здесь происходит.