我在C ++ 14中有.redbutton:before {
content: '';
position:absolute;
left:-20px;
right:-20px;
top:-20px;
bottom:-20px;
background-image: url('https://i.stack.imgur.com/Nb7M7.png');
background-size: 100% 100%;
}
类型,T
为所有可能的std::is_convertible<T, X>::value
返回true
?
答案 0 :(得分:1)
你当然可以自己制作一个:
#include <string>
#include <type_traits>
struct Foo
{
template <class T>
operator T();
};
int main()
{
struct Bar{};
static_assert(std::is_convertible<Foo, int>::value, "");
static_assert(std::is_convertible<Foo, std::string>::value, "");
static_assert(std::is_convertible<Foo, Bar>::value, "");
return 0;
}
答案 1 :(得分:0)
我们可以定义class B {~B() = delete;}
;
我们可以得出结论,对于任何给定的类型T,始终存在至少一个不能转换为T的类型X.
答案 2 :(得分:0)
如果您只想让元函数始终返回true,那么因为您正在编写一些超级duper元函数并且需要一个布局逻辑的占位符,那么我只是犯了罪并专门化了模板:
struct everything {};
namespace std {
template<typename X>
struct is_convertible<everything, X> : true_type {};
};
虽然,诚然,this answer可以更好地完成这项工作,因为它不会进入std
命名空间并开始破坏模板。
否则,不,没有这种类型。至少没有能为你生成有效对象的类型。