-2

第 25-30 行有问题。我请求了现有索引,但出现错误。我不明白这个问题,怎么了?

    string *shells_host = new string[cnt];
    for(int i=0;i<cnt;i++)
    {
        shells_host[i] = LinkToHost(shells[i]);
        shells[i] = LinkToReq(shells[i],shells_host[i].size()+7);
    }

所有代码:http ://codepaste.ru/10939/

4

2 回答 2

3

您将一个空字符串传递给 LinkToHost() 并且对 url.substr(7) 的调用会导致异常。

不用说,在调试器下运行代码需要几分钟才能弄清楚这一点。

于 2012-06-15T08:31:46.883 回答
0

要么使用调试器深入研究,要么分解问题并添加一些调试打印语句:

for(int i=0;i<cnt;i++)
{
    printf("i=%d, shells=%d", i, shells[i]);
    shells_host[i] = LinkToHost(shells[i]);

    int secondArg = shells_host[i].size()+7;
    printf("shells_host=%d, secondArg", shells_host[i], secondArg);
    shells[i] = LinkToReq(shells[i], secondArg);
}//to here
于 2012-06-15T07:43:45.947 回答