warning C4239, auto_ptr, VS2005
От: Аноним  
Дата: 20.01.10 08:49
Оценка:
Объясните инвалиду детства на голову, почему компилируя следующий код с помощью VS2005 я получаю предупреждение C4239?
По какой причине такое преобразование запрещено стандартом? Где тут грабли?
И как добиться желаемого результат без предупреждений?
class auto_ptr1
{
public:
    auto_ptr1(int *_Ptr = 0)
        : _Myptr(_Ptr)
    {
    }

    auto_ptr1(auto_ptr1& _Right)
        : _Myptr(_Right.release())
    {}

    int *release()
    {
        int *_Tmp = _Myptr;
        _Myptr = 0;
        return (_Tmp);
    }
private:
    int* _Myptr;
};

auto_ptr1 Func()
{
    return auto_ptr1(new int);
}
c4239 auto_ptr vs2005
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.