Операторы преобразования в std::auto_ptr
От: Аноним  
Дата: 06.08.11 10:12
Оценка:
Объясните пожалуйста, почему вот этот код не работает:

#include <memory>

struct A {};
struct B : A {};

std::auto_ptr<B> foo()
{
    return std::auto_ptr<B>(new B);
}

int main()
{
    std::auto_ptr<A> p = foo();
}


В случае, когда везде В или А, или, если добавить "(std::auto_ptr<A>)", то все нормально.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.