#include <iostream>
template <bool>
struct value_chooser;
template<>
struct value_chooser<true>
{
static constexpr auto value = "str47";
};
template<>
struct value_chooser<false>
{
static constexpr auto value = 47;
};
int main()
{
auto value1 = value_chooser<true>::value;
auto value2 = value_chooser<false>::value;
std::cout << value1 << "-" << value2 << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPGJvb2w+CnN0cnVjdCB2YWx1ZV9jaG9vc2VyOwoKdGVtcGxhdGU8PgpzdHJ1Y3QgdmFsdWVfY2hvb3Nlcjx0cnVlPgp7CiAgICBzdGF0aWMgY29uc3RleHByIGF1dG8gdmFsdWUgPSAic3RyNDciOwp9OwoKdGVtcGxhdGU8PgpzdHJ1Y3QgdmFsdWVfY2hvb3NlcjxmYWxzZT4KewogICAgc3RhdGljIGNvbnN0ZXhwciBhdXRvIHZhbHVlID0gNDc7Cn07CgppbnQgbWFpbigpCnsKICAgIGF1dG8gdmFsdWUxID0gdmFsdWVfY2hvb3Nlcjx0cnVlPjo6dmFsdWU7CiAgICBhdXRvIHZhbHVlMiA9IHZhbHVlX2Nob29zZXI8ZmFsc2U+Ojp2YWx1ZTsKICAgIAogICAgc3RkOjpjb3V0IDw8IHZhbHVlMSA8PCAiLSIgPDwgdmFsdWUyIDw8IHN0ZDo6ZW5kbDsKfQ==