Pile de pousser les causes d'erreur critique

Je suis nouveau sur le C++ et le travail avec les conteneur STL pour le moment.
J'ai eu un problème grave de l'exécution d'une nodeStack.push(startnode) - le compilateur affiche un

Critique erreur détectée c0000374

Followign montre le code de la fonction où l'mentionnées erreur se produit:

vector<int> Graph::iterativeDepthSearch(map<int, vector<int>> adjlist, int startnode) {
    stack<int> nodeStack;
    vector<int> visitList;

    //Knotenbesuchsliste initialisieren
    int* val = new int(adjlist.size());
    for (int i = 0; i < (int) adjlist.size(); i++) {
        val[i] = 0;
    }

    int cnt = 1;
    nodeStack.push(startnode);
    ....
}

L'erreur se produit dans la ligne nodeStack.push(startnode);, startnode est initialisé à 0.

totowtwo réponse vous aidera. Je voudrais juste ajouter que pour l'initialisation de votre tableau à un appel à ZeroMemory (si disponible) ou memset est suffisant.
Sur une autre note, vouliez-vous dire de la copie de votre carte dans la fonction plutôt que d'utiliser une référence à const c'est à dire const map<int,vector<int>>&?
ou encore mieux, std::fill!
ou même betterer, std::vector.

OriginalL'auteur Georg Leber | 2011-06-16