Vector et Visual studio

classe "std::vector<int, std::allocator<int>>" n'a pas de membre "push_back"

a marqué ce sujet comme résolu.

J’apprends le C++ grâce au cours proposé sur ce site. J’en suis au chapitre I-7 "Au tableau" où on apprend à se servir des tableaux proposés par C++. J’ai entré le code proposé comme exemple pour la fonction "push_back" mais Visual Studio me dit que la classe n’a pas ce membre. Quelqu’un peut-il me dire comment arrangé ce "petit" problème s’il-vous-plaît? Voici le code:

#include <iostream>
#include <string>
#include <vector>
#define NOMINAX
#include <Windows.h>

int main()
{
	SetConsoleOutputCP(1252);

    std::vector<int> tableau_de_int{ 12, 24 };
    // On ajoute un élément...
    tableau_de_int.push_back(36);
    // ...mais on peut en ajouter encore d'autres.
    tableau_de_int.push_back(48);
    tableau_de_int.push_back(100);

    // On affiche pour vérifier.
    for (auto const valeur : tableau_de_int)
    {
        std::cout << valeur << std::endl;
    }

    std::vector<std::string> tableau_de_string{ "Salut !", "Voici une phrase." };
    tableau_de_string.push_back("Mais je vais en ajouter une autre.");
    // Ceci ne compilera pas.
    //tableau_de_string.push_back(5);

    for (auto const chaine : tableau_de_string)
    {
        std::cout << chaine << std::endl;
    }

    return 0;
}
+0 -0

Bonjour,

Il ne devrait pas y avoir de problème avec ce code. Est-ce bien la première erreur signalée, est-ce indiqué par intellisense ou pendant la compilation? Et il nous faudrait le texte complet de la première erreur signalée, à récupérer dans la fenêtre qui s’appelle "output" ou "sortie" après avoir demandé une compilation.

Voici l’erreur écrite dans la fenêtre "sortie": L’opération de génération a démarré… 1>——— Début de la génération : Projet : Project4, Configuration : Debug x64 ——— 1>Source.cpp 1>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include\yvals.h(12,10): fatal error C1083: Impossible d’ouvrir le fichier include : 'crtdbg.h' : No such file or directory 1>Génération du projet "Project4.vcxproj" terminée — ÉCHEC. ========== Génération : 0 a réussi, 1 a échoué, 0 à jour, 0 a été ignoré ==========

Dans la section erreurs, il est écrit que mon projet contient 524 erreurs, la plupart étant des erreurs d’ouverture de fichier, les autres étant:

Erreur (active) E0289 aucune instance du constructeur "std::vector<_Ty, _Alloc>::vector [avec _Ty=int, _Alloc=std::allocator<int>]" ne correspond à la liste d’arguments ligne: 11

Erreur (active) E0135 classe "std::vector<int, std::allocator<int>>" n’a pas de membre "push_back" ligne: 13

Erreur (active) E0135 classe "std::vector<int, std::allocator<int>>" n’a pas de membre "push_back" ligne: 15

Erreur (active) E0135 classe "std::vector<int, std::allocator<int>>" n’a pas de membre "push_back" ligne: 16

Erreur (active) E2291 cette instruction 'for' basée sur une plage nécessite une fonction "begin" appropriée et aucune n’a été trouvée ligne: 19

Erreur (active) E0289 aucune instance du constructeur "std::vector<_Ty, _Alloc>::vector [avec _Ty=std::string, _Alloc=std::allocator<std::string>]" ne correspond à la liste d’arguments ligne: 24

Erreur (active) E0135 classe "std::vector<std::string, std::allocator<std::string»" n’a pas de membre "push_back" ligne: 25

Erreur (active) E2291 cette instruction 'for' basée sur une plage nécessite une fonction "begin" appropriée et aucune n’a été trouvée ligne: 29

Je ne vois vraiment pas à quel endroit j’essaierais d’ajouter un entier à un tableau de chaînes de caractères, de plus j’ai copié-collé le code du cours pour voir où j’aurais pu me tromper.

Au fait j’adore le chat dans votre photo de profil

+0 -0

La première erreur dit : "compilateur complétement paumé" c’est inutile de lire les autres erreurs. Ton compilateur ne trouve pas un fichier fondamental 'crtdbg.h’. Peut-être que Visual s’est mal installé. Il ne trouve pas des données de la console, as-tu bien créé un projet de type console?

J’ai recréé un projet console expressément pour vérifier et ça me remet la même erreur. J’ai déjà installé et réinstallé Visual studio plusieurs fois avant ce problème mais je ne vois pas ce qui aurait mal pu être installé, dois-je avoir un composant externe spécial d’installé?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte