Partage
  • Partager sur Facebook
  • Partager sur Twitter

Commande cout qui ne fonctionne plus du tout

    21 décembre 2020 à 20:09:43

    Bonsoir à tous , j'ai déja lu les précédents sujets similaires à mon pb mais rien à y faire .. 

    En fait , la commande cout ne fonctionne plus lorsque je compile avec g++, pour une raison que j'ignore vraiment .  

    J'ai deja essayé de mettre std::cout<< , mais cela ne fait rien .

    Sachant que mon programme est vraiment bidon : 

    Et lorsque j'utilise la commande ccc et pas g++, cela marche très bien ..

    Merci d'avance 

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      21 décembre 2020 à 20:16:23

      Là, tu compile simplement, tu n'exécute pas le programme, donc il ne se passe bien. Quant à ccc, c'est peut-être un alias qui en plus de compiler lance le programme, d'où la différence obtenue.

      • Partager sur Facebook
      • Partager sur Twitter
        21 décembre 2020 à 20:18:54

        D'accord , je comprends du coup qu'il ne fasse rien. Je pensais que ca compilait et executer ..

        Dans ce cas , quelle commande permet de l'executer ? 

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          21 décembre 2020 à 20:25:14

          Ça dépend du nom de l'exécutable produit par g++ ; ici, ./TD3

          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2020 à 20:31:59

            Merci beaucoup , tu viens de m'apprendre quelque chose ! 

            Bonne soirée merci 

            • Partager sur Facebook
            • Partager sur Twitter
              22 décembre 2020 à 8:36:06

              Bonjour,

              Dans ton code, si tu utilises "std::cout", "std::endl", ... tu n'as pas besoin de "using namespace std;" qui est plutôt à bannir.

              Cordialement.

              • Partager sur Facebook
              • Partager sur Twitter
                4 janvier 2021 à 18:56:04

                Au passage, std::cout n'est pas une commande.

                C'est un objet, un flux de sortie.  Et   "<<" est un opérateur infixe qui agit sur un flux.

                Un opérateur infixe, c'est une notation pour une fonction, qu'on peut noter aussi operator<<.

                Par exemple la première écriture (d'une chaine) peut être mise sous la forme

                	operator<<(std::cout, "ça marche");


                d'un appel de fonction libre, de signature    std::ostream operator<<(std::ostream &, std::string)

                Et la seconde, on rigole

                	std::cout.operator<<(std::endl);	

                c'est l'appel d'une fonction membre (de la classe ostream) sur un "manipulateur".

                ---

                Comme le premier appel retourne  cout (modifié), on pourrait chaîner les deux appels en un seul, en fait

                operator<<(std::cout, "c++ trop facile, lol")
                          .operator<<(std::endl);	


                Bref,

                • cout est un objet
                • on lui applique operator<<
                • les opérateurs infixes peuvent représenter des fonctions membres et des fonctions libres.



                -
                Edité par michelbillaud 4 janvier 2021 à 18:57:28

                • Partager sur Facebook
                • Partager sur Twitter

                Commande cout qui ne fonctionne plus du tout

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown