#include <iostream>
namespace namespace_scope {
struct type {
template<typename T>
T method();
// template<>
// int method<int>() {}
//
// template<>
// float method() {}
};
template<>
int type::method<int>() {
return 1;
}
template<>
float type::method() {
return .5f;
}
}
int main() {
namespace_scope::type object;
std::cout << object.method<int>() << std::endl;
std::cout << object.method<float>() << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCm5hbWVzcGFjZSBuYW1lc3BhY2Vfc2NvcGUgewoKc3RydWN0IHR5cGUgewogICAgIAogICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICBUIG1ldGhvZCgpOwogICAKICAgLy8gdGVtcGxhdGU8PgogICAvLyBpbnQgbWV0aG9kPGludD4oKSB7fQogICAvLwogICAvLyB0ZW1wbGF0ZTw+CiAgIC8vIGZsb2F0IG1ldGhvZCgpIHt9Cn07CiAKdGVtcGxhdGU8PgppbnQgdHlwZTo6bWV0aG9kPGludD4oKSB7CiAgIHJldHVybiAxOwp9Cgp0ZW1wbGF0ZTw+CmZsb2F0IHR5cGU6Om1ldGhvZCgpIHsKICAgcmV0dXJuIC41ZjsKfQogCn0KIAogCmludCBtYWluKCkgewogICBuYW1lc3BhY2Vfc2NvcGU6OnR5cGUgb2JqZWN0OwogICBzdGQ6OmNvdXQgPDwgb2JqZWN0Lm1ldGhvZDxpbnQ+KCkgPDwgc3RkOjplbmRsOwogICBzdGQ6OmNvdXQgPDwgb2JqZWN0Lm1ldGhvZDxmbG9hdD4oKSA8PCBzdGQ6OmVuZGw7Cn0KIA==