template<class underlying>
underlying muldiv(underlying lhs, underlying times, underlying divide) {
return 0;
}
template<>
int muldiv<int>(int lhs, int times, int divide) {
return (int)(long long(lhs)*long long(times)/long long(divide));
}
int main() {return muldiv(3, 4, 5);}
CnRlbXBsYXRlPGNsYXNzIHVuZGVybHlpbmc+CnVuZGVybHlpbmcgbXVsZGl2KHVuZGVybHlpbmcgbGhzLCB1bmRlcmx5aW5nIHRpbWVzLCB1bmRlcmx5aW5nIGRpdmlkZSkgewogICAgcmV0dXJuIDA7Cn0KCnRlbXBsYXRlPD4KaW50IG11bGRpdjxpbnQ+KGludCBsaHMsIGludCB0aW1lcywgaW50IGRpdmlkZSkgewoJcmV0dXJuIChpbnQpKGxvbmcgbG9uZyhsaHMpKmxvbmcgbG9uZyh0aW1lcykvbG9uZyBsb25nKGRpdmlkZSkpOwp9CgppbnQgbWFpbigpIHtyZXR1cm4gbXVsZGl2KDMsIDQsIDUpO30=
prog.cpp: In function ‘underlying muldiv(underlying, underlying, underlying) [with underlying = int]’:
prog.cpp:9: error: expected primary-expression before ‘int’
prog.cpp:9: error: expected `)' before ‘int’