class affe{
public:
std::string afe;
int c;
double d;
template<class T>
BOOL operator=(T &a)
{
if (a)
{
afe = a;
return 0;
}
if (a == 0)
{
c = a;
return 0;
}
fi(typeid(a) == typeid(double)
{
d = a;
}
return 0;
}
};
int _tmain(int argc,_TCHAR*argv[])
{
affe cf;
cf = "hello";
}
错误提示:无法从 const char[6] 转为int 无法从 const char[6] 转为double
本人小白, 我需要写个类 operator=函数 在里面有判定数据类型if (typeid(value) == typeid(double) ,如果是int赋值给Int 如果是 char*string*赋值给string
问题就在这里 即便 通过判定 肯定不是 string 进不了那个if里面 但是 会提示这无法从 const char[6] 转为int 各位大神 如何解决?
补充:
我这类里实际是有个union 如下
union Tdata//可容纳类型
{
byte _tbyte;//1字节
WORD _tword;//2
DWORD _tdword;//4
char _tchar;//1
int _tint;//4
wchar_t _wchar;//4以下
double _tdouble;//8
std::string* _tstring;//4
CString* _tcstring;//4
};
我是需要根据不同数据类型 给union赋值