Problème de compilation avec le type std::string

Le problème exposé dans ce sujet a été résolu.

Bonjour à tous,

Je viens de commencer le cours sur la programmation en C++ moderne seulement, je rencontre un problème avec mon IDE, CodeBlocks.

Lorsque j’essaye de compiler un code qui contient comme type std::string, il y a 2 messages d’erreurs qui s’affichent avec l’un où est écrit "Warning: extended initializer lists only available with -std=c++11 or -std=gnu++11" et puis l’autre juste en dessous "error: in C++98 'reponse' must be initialized by constructor, not by '{…}’".

J’ai fait des recherches sur le Web pour essayer de trouver une solution, mais je n’en ai pas trouvé, ce qui est sûr, c’est que ça ne vient pas de mon code, je l’ai également essayé sur Wandbox, il fonctionne parfaitement bien. Je vous le mets quand même ci-dessous en espérant que quelqu’un pourra m’apporter de l’aide pour le résoudre.

#include <iostream>
#include <string>

int main()
{
    int entier {10};

    entier += 5;
    std::cout << "Le résultat est :" << entier << std::endl;

    entier -= 2;
    std::cout << "Le résultat est :" << entier << std::endl;

    entier -= 3;
    std::cout << "Le résultat est :" << entier << std::endl;

    std::string reponse {"Il est de dix."};
    std::cout << "Quel est le résultat définitif ?" << reponse << std::endl;

    return 0;
}

Merci.

Cordialement, Reiky67

Salut,

Comme indiqué par le compilateur, ce sont les listes d’initialisation (dans ton code {10} et {"Il est de dix."}) qui ne sont pas supportées par le standard C++ avec lequel tu compiles.

Mais l’erreur te donne aussi la solution : utiliser un autre standard plus récent avec l’option -std=c++11 donnée à ton compilateur.
Enfin, on est en 2020, tu peux te permettre un -stc=c++17 pour être encore plus à jour.

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