VS2010: unique_ptr implicitly convertible to bool
От: uzhas Ниоткуда  
Дата: 09.11.11 14:31
Оценка:
#include <memory>
int main()
{
  std::unique_ptr<int> a;
  bool x = a;
}


gcc не дает скомпилировать такой код
http://ideone.com/nl3o7
в VS2010 код компилируется
поковырял исходники, вроде VS пытается заюзать safe-bool idiom, однако все равно работает не как в гцц
сделал свой классик, реализовал safe bool idiom через указатель на свою мембер-функцию — класс работает как надо: конвертация в bool не компилируется
они опять что-то напортачили или я не понимаю что-то? где подкрутить, чтобы смарт-пойнтеры не конвертировались в bool и не выводились в std::cout ?
спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.