J'ai un problème avec l'extension C++ de VScode. Chaque fois que je définis une matrice composée de vecteurs comme vector<vector<int> >
et utiliser le formateur automatique, il change le code en vector<vector<int>>
ce qui entraîne une erreur de compilation.
Y a-t-il une solution à cela?
L'extension VSCode C++ utilise le format clang pour formater le document. Si vous êtes coincé avec un ancien compilateur qui ne prend pas en charge C++ 11, ajoutez simplement un fichier .clang-format dans votre espace de travail avec la ligne suivante :
Standard : Cpp03
Pour plus d'options de formatage, reportez-vous au lien suivant: https://clang.llvm.org/docs/ClangFormatStyleOptions.html
L'erreur du compilateur est que >>
est interprété comme l'opérateur de décalage droit au lieu de deux délimiteurs de liste d'arguments de modèle consécutifs. Avant C++ 11, c'était ainsi que le langage exigeait que l'analyseur fonctionne. Cependant, en C++ 11, une exception a été ajoutée pour éviter cela. Voir cette réponse pour plus d'informations.
La meilleure solution serait de mettre à niveau votre compilateur vers C++ 11 ou une version ultérieure.