给定
#include <locale>
struct Q;
struct R{ void operator()(Q*) { } };
class S : public std::codecvt<char, char, Q*> { } ;
int main() {
char *p;
char *q;
const char *r;
char *s;
char *t;
char *u;
Q* _q;
std::use_facet<std::codecvt<char, char, Q*> >(std::locale(std::locale::classic(), new S)).in(_q, p, q, r, s, t, u);
}
链接器随着消息而死
[vtable for std::codecvt]+0x50):未定义引用 'std::codecvt::do_max_length() const',对所有 codecvt do_* 成员重复,并且
[vtable for S]+0x20): 未定义引用 'std::codecvt::do_out(Q*&, char const*, char const*, char const*&, char*, char*, char*&) const' ,对所有 do_* 成员函数重复。
当 StateT 不是std::mbstate_t
时,编译工作还需要哪些专业化?