0_0_36570030_1278.cpp:77:94: error: 'template<class T> template<class U> typename std::enable_if<std::is_same<typename Modular<U>::Type, long long int>::value, Modular<T> >::type& Modular<T>::operator*=(const Modular<T>&)' cannot be overloaded
typename enable_if<is_same<typename Modular<U>::Type, long long>::value, Modular>::type& operator*=(const Modular& rhs) {
^
0_0_36570030_1278.cpp:72:88: error: with 'template<class T> template<class U> typename std::enable_if<std::is_same<typename Modular<U>::Type, long long int>::value, Modular<T> >::type& Modular<T>::operator*=(const Modular<T>&)'
typename enable_if<is_same<typename Modular<U>::Type, int>::value, Modular>::type& operator*=(const Modular& rhs) {
^
0_0_36570030_1278.cpp: In instantiation of 'class Modular<std::integral_constant<long long int, 998244353ll> >':
0_0_36570030_1278.cpp:168:23: required from here
0_0_36570030_1278.cpp:67:13: error: postfix 'Modular<T> Modular<T>::operator++(long long int) [with T = std::integral_constant<long long int, 998244353ll>]' must take 'int' as its argument
Modular operator++(int) { Modular result(*this); *this += 1; return result; }
^
0_0_36570030_1278.cpp:68:13: error: postfix 'Modular<T> Modular<T>::operator--(long long int) [with T = std::integral_constant<long long int, 998244353ll>]' must take 'int' as its argument
Modular operator--(int) { Modular result(*this); *this -= 1; return result; }
^
|