以下のソースコードです。 #include <iostream> template<char O, bool =O == 'h'? '-' :O == 'w'? '=' :0>class _; template<char O>std::ostream&operator<<(std::ostream&lhs,_<O,0>*) { return lhs << O; } template<char O>std::ostream&operator<<(std::ostream&lhs, _<(O), 'o'>*) { return lhs<<(char)(O - '!' + '.' - '-' ); …