2010-06-11 7 views

Répondre

5

essayer std :: vecteur à la place. Aussi, assurez-vous

#include <vector> 
4

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); 
+0

putain, m'a battu d'une seconde ;-) –

0

essayez std::vector<odp> ou using std;

0

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>

0

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); 
Questions connexes