我定义了以下功能:
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);
当我打电话时:
buffer << Glib::ustring("hello");
编译器使用通用模板定义而不是 Glib::ustring 的特化。
我在这里做错了什么?