大家好 问个问题!list index out of bounds

wdqqq1 2009-04-09 11:10:09
一运行 老是出现这个问题 实在是找不到 问题! 大家能帮我不?我刚学bcb!代码如下:
double x,y;
int count;
TStringList *List=new TStringList();

Chart1->Title->Text->Clear();
Chart1->Title->Text->Add(Edit1->Text);
count=StrToInt(Edit2->Text);
List->LoadFromFile("a.txt");

for(int i=0;i<count;i++)
{
x=StrToInt(List->Strings[i]);
y=StrToInt(List->Strings[++i]);
Series1->AddXY(x,y,clRed);
}
...全文
140 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wdqqq1 2009-04-09
  • 打赏
  • 举报
回复
也是 那要如何写才有意义呢啊
Jim@luckeeinc.com 2009-04-09
  • 打赏
  • 举报
回复
如果用++i,莫非你取數據要跳着取?
至於for(int i=0;i <List->Count;i++)
這樣寫是不會報錯 但是如果這樣 Edit2->Text裏輸入的那個數字還有意義嗎? count=StrToInt(Edit2->Text); 寫了沒有意義
wdqqq1 2009-04-09
  • 打赏
  • 举报
回复
这里面的人真的很热情啊!谢谢大家!
jame2001 2009-04-09
  • 打赏
  • 举报
回复

x=StrToInt(List->Strings[i]);
y=StrToInt(List->Strings[++i]); //這裡當 i == List->Count - 1時, 一定會出現這個錯
Jim@luckeeinc.com 2009-04-09
  • 打赏
  • 举报
回复
y=StrToInt(List->Strings[++i]);
++i?
wdqqq1 2009-04-09
  • 打赏
  • 举报
回复
我靠 for(int i=0;i <List->Count;i++)
真的!可以了!!哈哈多谢啊!怎么感谢你啊
wdqqq1 2009-04-09
  • 打赏
  • 举报
回复
恩 我知道 越界了!我输入count的值是20 调试的时候也显示时20啊!没错啊
jame2001 2009-04-09
  • 打赏
  • 举报
回复

for(int i=0;i <List->Count;i++)
Jim@luckeeinc.com 2009-04-09
  • 打赏
  • 举报
回复
看看 count的值是多少 再看看List->Count是多少
越界了

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧