Je suis nouveau à C++ et je programme sur Visual Studio code.
Malheureusement je me suis retrouvé dans l'incapacité de définir une variable de type std::string_view !
-Programme :
#include <iostream>
#include <string_view>
int main() {
std::string_view mot = "Hello world";
return 0;
}
-Erreur :
test.cpp: In function 'int main()':
test.cpp:5:10: error: 'string_view' is not a member of 'std'
5 | std::string_view mot = "Hello world";
| ^~~~~~~~~~~
test.cpp:5:10: note: 'std::string_view' is only available from C++17 onwards
J'ai déjà modifié la version du standard cpp (c++17, c++20 ou c++23 ne marchent pas).
Je n'ai trouvé aucune solution à mon problème qui me paraissait compréhensible.
J'espère que quelqu'un pourra m'aider (et merci d'avance) !
Qu'entends-tu par : "ne marchent pas" ? Mettre l'option provoque une erreur? A partir de C++17 tu dois avoir std::string_view, et l'erreur indique bien qu'il faut activer C++17 ou plus. Quel compilateur et quelle version utilises-tu ?
Je pense que des précisions auraient été nécessaire en effet, je m'en excuse.
Alors, quand je dis que c++17,c++20 et c++23 ne marchent pas c'est que peu importe le cpp standard que je choisis, le problème persiste.
Concernant le compiler, j'ai choisis la solution facile et j'utilise l'extension "Code Runner". Peut être que mon problème vient de là et si oui alors j'irais regarder des tutos pour installer gcc. Si il est possible de régler ce problème tout en gardant cette extension, cela m'arrangerait car je l'utilise aussi pour mes programmes python.
Merci d'avance pour vos réponses !
EDIT : Code runner était bien le problème, je pense que le compiler doit être sur c++14. J'ai installé gcc et le problème a été réglé, merci pour vos réponses !
- L'extension Code Runner (pour VSCode) n'installe pas de compilateur à ma connaissance. Il execute juste par défaut une commande gcc basique (donc il s'attend à ce que gcc soit installé et visible) pour compiler -puis linker en un executable- le fichier ouvert dans l'éditeur. On peut modifier cette commande dans son settings.json ("cpp" dans "code-runner.executorMap"). Ta nouvelle installation d'un gcc récent a peut être fait tomber le bousin en marche s'il s'agit de gcc >=11 (car son standard par défaut est C++17).
- Code Runner ne doit pas être utilisé pour autre chose que des toy projects (et encore) ou faire un test vite fait dans un fichier autosuffisant: en gros uniquement s'il n'y a qu'une seule unité de compilation par executable, ie un seul .cpp, et pas de dépendances externes. Pour le reste, on passe direct à CMake et l'extension CMake Tools, sinon c'est ingérable.
- Edité par SpaceIn 25 août 2022 à 22:31:59
Visual studio code : string_view
× 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.