#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 ?
спасибо