首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

这样使用TLIST 为什么不对( )

2012-04-05 
这样使用TLIST 为什么不对(在线等 )TList*listnewTList()list- Add( hello )String*ssnewString(

这样使用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;

热点排行