Quel est le problème avec cette ligne de code?C++: Erreur de syntaxe C2061: Identificateur inattendu
bar foo (vecteur ftw);
Il produit
error C2061: syntax error: identifier 'vector'
Quel est le problème avec cette ligne de code?C++: Erreur de syntaxe C2061: Identificateur inattendu
bar foo (vecteur ftw);
Il produit
error C2061: syntax error: identifier 'vector'
essayer std :: vecteur à la place. Aussi, assurez-vous
#include <vector>
Probablement vous avez oublié d'inclure vecteur et/ou importer std::vector
dans l'espace de noms.
Assurez-vous que vous avez:
#include <vector>
Puis ajouter:
using std::vector;
ou tout simplement utiliser:
bar foo(std::vector<odp> ftw);
essayez std::vector<odp>
ou using std;
Avez-vous:
#include <vector>
et
using namespace std;
dans votre code?
<vector>
définit la classe std::vector
, vous devez donc l'inclure quelque part dans votre fichier.
puisque vous utilisez vector
, vous devez demander au compilateur que vous allez importer l'ensemble namespace std
(sans doute ce n'est pas quelque chose que vous voulez faire), par l'intermédiaire using namespace std;
Sinon vecteur devrait être définie comme std::vector<myclass>
Sur son propre, ce bout de code n'a pas de définition de bar
, vector
ou odp
. Quant à savoir pourquoi vous n'obtenez pas d'erreur sur la définition de bar
, je ne peux que supposer que vous l'avez sorti de son contexte.
Je suppose qu'il est censé définir foo
en fonction, que vector
nomme un modèle et qu'il est censé définir un paramètre appelé ftw
mais dans un rien de déclaration qui ne fait besoins étant défini avoir été déclaré précédemment de sorte que le compilateur sait ce que signifient tous les autres identificateurs.
Par exemple, si vous définissez les nouveaux types comme vous suit obtenir un extrait qui compilera:
struct bar {};
struct odp {};
template<class T> struct vector {};
bar foo(vector<odp> ftw);
putain, m'a battu d'une seconde ;-) –