这样使用TLIST 为什么不对(在线等 )
TList *list=new TList() ;
list-> Add( "hello ");
String *ss=new String ( "ok ");
ss =(String*)list-> Items[0];
String str=*ss;
ShowMessage(str);
我就是想把不同数据类型的 变量放进 list中去 ,使用时再读出来.
请大家帮忙!
[解决办法]
应该将对象的指针添加到list中,使用的时候再进行类型转换
TList *list=new TList() ;
String *ss=new String ( "ok ");
list-> Add(ss);//添加了一个String类型对象
...
String *aa;
aa =(String*)(list-> Items[0]);//用的时候进行类型转换
ShowMessage(aa);
[解决办法]
union
[解决办法]
ss =(String*)list-> Items[0];
==>
ss =(const char *)list-> Items[0];
[解决办法]
放指针吧。
[解决办法]
如果你不用放自定义的类型,只是字符串的话,我建议你用
TStringList 类,都已经封装好了
TStringList *str_lst = new TStringList();
str_lst-> Add( "OK ");
ShowMessage(str_lst-> Strings[0]);
delete str_lst;
[解决办法]
那就用结构来存
struct TMyStruct
{
TDateTime dt;
AnsiString str;
double num;
... ...
};
TList *lst = new TList();
TMyStruct *s1 = new TMyStruct();
lst-> Items-> Add(s1);
TMyStruct *s2 = (TMyStruct *)lst-> Items[0];
ShowMessage(s2-> str);
for (int i = 0; i < lst-> Count; i++)
{
delete (TMyStruct *)lst-> Items[i];
}
delete lst;