J'ai un problème concernant l'utilisation des tuples sur visual studio code en c++, comme vous pouvez le voir sur le screen plus bas tout ce qui est lié à la l'include tuple est mis avec une sorte de messsage d'erreur rouge comme si j'avais fait une erreurs alors que tout marchait bien pour les autres include de la bibliothèque standard.
Sinon le code marche bien (je compile manuellement avec le terminal) mais c'est très chiant d'avoir ces traits rouge quand on code et je ne comprend pas pourquoi.
Les lignes 8 et 20 utilisent directement le templatestd::tuple sans préciser les paramètres. Ça n'est possible que depuis le C++17, peut-être que le compilateur associé à Studio Code n'est pas en mode -std=c++17. Essaie de remplacer dans ces 2 lignes std::tuple par autoqui est accessible depuis le C++11 (et qui est loin d'être plus mal dans ces cas.)
Si tu avais utilisé les balises code comme c'est attendu, j'aurais pu tester ton code pour voir si j'obtenais le même résultat.
PS (bis): j'ai recopié le code de l'exemple de cppreference et ça compile sans problème sous VS2019. Il faudrait que tu fournisses le message d"erreur
- Edité par zoup il y a environ 1 heure
Je crois que tu n'as pas vraiment compris mon problème. Je me suis peut être mal exprimé d'ailleurs. Le code compile très bien, mais le truc c'est que normalement sur vscode quand un code est bon (comme celui qui est repris d'un cours) il n'a pas de trait rouge pour indiquer des fautes, fautes ici qui sont du d'après moi au fait que vscode ne reconnait pas l'include tuple. C'est d'ailleurs pour cela que je ne l'ai pas mis entre balise, car ça n'a pas vraiment d'utilité ici
Dalfab a écrit:
Bonjour,
Les lignes 8 et 20 utilisent directement le templatestd::tuple sans préciser les paramètres. Ça n'est possible que depuis le C++17, peut-être que le compilateur associé à Studio Code n'est pas en mode -std=c++17. Essaie de remplacer dans ces 2 lignes std::tuple par autoqui est accessible depuis le C++11 (et qui est loin d'être plus mal dans ces cas.)
Je ne pense pas car la c'est tout ce qui est lié au tuple qui pose problème pas seulement les lignes 8 et 20. D'ailleurs la norme c++17 est bien intégré au compilateur studio code car c'est pas la première fois que j'utilise des choses venant de cette norme sans aucun problème
Je compile manuellement avec un terminale en dehors de visual studio code, donc il n'a pas de message d'erreurs et le code marche comme il doit marcher y'a pas de problème sur ça.
J'ai utiliser le compilateur integré à vscode pour vous montrez les erreurs affichées si vous voulez :
Les messages d'erreur montent que @Dalfab a tout à fait raison.
Rien ne garantit que le "compilateur" de Visual Studio Code soit le même que celui dans le terminal, qu'il ait la même configuration ni même que les message d'erreurs viennent d'un compilateur. Visual Studio (non code) utilise un outil dédié : "Intellisense", pour avoir une vitesse de réaction et des messages d'erreurs plus riches.
De souvenir il y a un paramètre pour utiliser la norme C++17 dans l'intellisense de l'extension, il faut lire la doc. Utilisant l'extension CMake Tools dans VSCode, je ne peux pas t'aider plus que ça (bien configurée, celle ci nourrit automatiquement l'intellisense donc pas de souci pour ma part...).
Merci beaucoup à tous ce qui ont participé sur ce topic, la problème est réglé. Finalement vous aviez raison, le problème était bien sur le fait que la norme n'était pas en c++17.
Pour ceux qui pourrais avoir le même problème que moi et qui utilise l'extention C/C++ de microsoft il faut aller dans les paramètres de l'extension (extension settings), et juste changer l'endroit ou il est marqué :
C_Cpp › Default: Cpp Standard
( Sync: Ignored)
The value to use in a configuration if "cppStandard" is either not specified or set to "${default}".
Vous changer le default en c++17 et la plus de problème !
std::tuple non reconnue pas visual studio code
× 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.
En recherche d'emploi.