0

時間エラーと私はそれをすべてうまく見えることを理解することはできません。これが私のメインです:

#include "DoublyLinkedList.h"
#include "Stats.h"
#include <iostream>
#include <string>
using namespace std;

DoublyLinkedList<int>* statsList = new DoublyLinkedList<int>;

int main()
{
    Stats stats;
    bool exit = false;
    int menuChoice;
    while (!exit)
    {

        switch (menuChoice)
        {
        case 1:
        cout << "Insert";
        {

        stats.Details();

        }
            break;
        case 2:
        cout << "Delete";
        {
        }

            break;
        case 3:

            break;
        case 5:

            break;
        case 6:

            break;
        case 7:
            exit = true;
        default:
            break;
        }
    }

    return 0;

}
4

3 に答える 3

3
int menuChoice;
while (!exit)
{

    switch (menuChoice)

あなたは何を期待menuChoiceしていますか?1?0?42?

これは、初期化されていない動作から読み取った未定義の動作です。警告を表示しているランタイムに感謝する必要があります。これにより、潜在的なバグを防ぐことができます。

于 2012-08-24T17:11:58.480 に答える
1

あなたは何にも設定menuChoiceしません。あなたはそれを宣言し、すぐにそれを使用します。

于 2012-08-24T17:10:20.457 に答える
1

単位化された変数を使用します。デバッグでのこのチェックは良いことですが、プロジェクトをリリース バージョンに切り替えると、コードは「ムーン フェーズ」に依存して動作します。したがって、使用する前に、常に変数を何らかの値で初期化してください。

于 2012-08-24T17:12:46.637 に答える