template < typename T >
struct Delta {
typedef decltype( T() - T() ) Value;
};
template <typename T,
typename DT = typename Delta<T>::Value >
class A { };
int main()
{
A<int> a;
}
dGVtcGxhdGUgPCB0eXBlbmFtZSBUID4Kc3RydWN0IERlbHRhIHsKICAgIHR5cGVkZWYgZGVjbHR5cGUoIFQoKSAtIFQoKSApIFZhbHVlOwp9OwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsCiAgICB0eXBlbmFtZSBEVCA9IHR5cGVuYW1lIERlbHRhPFQ+OjpWYWx1ZSA+CmNsYXNzIEEgeyB9OwoKCmludCBtYWluKCkKewoJQTxpbnQ+IGE7Cn0=