Здравствуйте, VNG, Вы писали:
<snipped>
Спасибо!!
VNG>Вопросы:
VNG> 1. Где взять такой травы, которую курили парни из MS?
Начитались про template code bloat. (см. ниже)
VNG> 2. Не подскажете домашний адрес господина Плагера?
Тоже интересно, у меня тоже к нему есть дело... за <exception>...
Происходит это из-за
auto_ptr::auto_ptr(auto_ptr_ref<_Ty> _Right)
и
auto_ptr<_Ty>& operator=(auto_ptr_ref<_Ty> _Right),
а точнее из-за auto_ptr_ref<_Ty>
Код:
template<class _Ty>
struct auto_ptr_ref
{ // proxy reference for auto_ptr copying
auto_ptr_ref(void *_Right)
: _Ref(_Right)
{ // construct from generic pointer to auto_ptr ptr
}
void *_Ref; // generic pointer to auto_ptr ptr
};
(Кстати этот код идиотизм — от code bloat не спасает, зато разрешает всё...)
Лечится это дела заменой его на
template<class _Ty>
struct auto_ptr_ref
{ // proxy reference for auto_ptr copying
auto_ptr_ref(auto_ptr<_Ty>& _Right)
: _Ref(_Right)
{ // construct from compatible auto_ptr
}
auto_ptr<_Ty>& _Ref; // reference to constructor argument
};
А вообще надо написать в MS...