3
Если у меня есть шаблон функцииЧтобы проверить, если класс может быть типаж другому
template<class T, class U>
T foo (U a);
Как я могу проверить, если объект класса U
может быть приведение типа в объект T
То есть Если класс U
имеет функцию-член
operator T(); // Whatever T maybe
или класс T
имеет конструктор
T(U& a); //ie constructs object with the help of the variable of type U
будет проверять как для конструктора, так и для оператора типа? – WARhead
Будет ли он работать на C++ 11? – WARhead
@WARhead Да, он будет проверять оба. Если любой из них существует, он вернет «истину». Для C++ 11 используйте 'std :: is_convertible :: value'. – songyuanyao