Я перехожу на GCC 4.6.1, и он начинает жаловаться на код, который отлично работает с GCC 4.4 и MSVC10. Кажется, что он не хочет конвертировать между shared_ptr
и bool
при возврате из такой функции:
class Class { shared_ptr<Somewhere> pointer_; };
bool Class::Function () const
{
return pointer_;
}
используя
return static_cast<bool> (pointer_);
все работает. Что, черт возьми, происходит? Это с --std=cpp0x
.