void foo1(int val) {}
void foo1(float val) {}
template <typename T>
void bar(T value) {
foo1(value);
}
int main() {
bar(1.f);
bar(2);
return 0;
}
dm9pZCBmb28xKGludCB2YWwpIHt9CnZvaWQgZm9vMShmbG9hdCB2YWwpIHt9Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBiYXIoVCB2YWx1ZSkgewoJZm9vMSh2YWx1ZSk7Cn0KCmludCBtYWluKCkgewoJYmFyKDEuZik7CgliYXIoMik7CglyZXR1cm4gMDsKfQ==