у меня
auto result = std::is_convertible
< boost::optional<int>
, bool
>::value;
static_assert( result , "task should return bool" );
и он не может скомпилироваться. Определение std :: is_convertible равно
template< class From, class To > struct is_convertible;
и необязательный явно конвертируется в логическое значение, потому что мы всегда используем его как
void(boost::optional<int> const & value){
if(value){
std::cerr << *value << endl;
}
}
что мне здесь не хватает?