我定义了以下功能:
template <typename T> buffer_t &operator<<(buffer_t &buffer, T data);
template <> buffer_t &operator<<(buffer_t &buffer, const char *data);
template <> buffer_t &operator<<(buffer_t &buffer, const Glib::ustring &data);
Run Code Online (Sandbox Code Playgroud)
我打电话的时候:
buffer << Glib::ustring("hello");
Run Code Online (Sandbox Code Playgroud)
编译器使用通用模板定义而不是Glib :: ustring的特化.
我在这做错了什么?