检查功能进入无限循环和分段故障

时间:2015-04-29 16:32:55

标签: c++ segmentation-fault infinite-loop

void InputStatisticalData() 
{
    //variables declaration

    cout << "\n[Here to take in data]" << endl;

   //cin data

    while (exit == false)
    {
        cout << "Entered Loop" << endl;//for troubleshooting purpose
        cout << "CountCheck: " << countcheck << endl;//for troubleshooting purpose

        if (!Vector.empty())
        {
            cout << "Entered Vector check IF" << endl;//for troubleshooting purpose

            if (condition)//checks if data has any duplicates
            {
                cout << "\nData already exist, please enter a new set of data." << endl;
                break;
            }

            else
            {   
                cout << "Entered countcheck++" << endl;//for troubleshooting purpose
                countcheck++;
            }
        }
        else
        {
            //stores data
            exit = true;
        }
    }
}

大家好,上面是我的函数,它可以在存储到向量之前接收一些数据并将它们存储到对象中。一切正常,因此我决定对该功能进行一些验证检查。其中一个是检查键入的数据是否已经被键入。

我可以存储一次这样的数据,一旦我再次尝试存储它,它将进入一个无限循环并给我一个分段错误。我一直试图解决它一个星期但无济于事。

另一个无限循环是 cin.fail 。如果检测到错误的输入,它也会进入无限循环。

感谢您花时间看一看。

大笑,为什么要继续投票我的问题,有一个问题和一个解决方案,它可以帮助别人,所以停止投票并提出投票

0 个答案:

没有答案