char *转换过载

时间:2013-04-10 04:14:15

标签: c++ string std

我定义了结构

struct X{
     char v;
     static int c;
     X():v(){c++};
     ~X(){c--};
     ...
}; 

typedef std::basic_string<X> xs;

那么有没有办法在没有显式转换的情况下使用构造? 我可以用这种方式初始化新字符串:

xs expl_conversion((X*)"olololo");

但有没有办法用隐式转换来做呢?

xs impl_conversion("olololo");

可能是一种转换运算符,但没有更改std :: basic_string。

当我尝试使用这样的东西时:

X * operator X*(char* dat){ return (X*)(dat);}

compilator答案:

operator X**(char*) must be a nonstatic member function

那么有什么方法可以解决这个问题吗? 感谢名单。

0 个答案:

没有答案