2010-08-09 7 views
2

J'ai le fragment de code suivantvecteur de vecteur

#include <iostream> 
#include <ostream> 
#include <vector> 
using namespace std; 

int main() { 
    vector<vector<int>>v; 
    return 0; 
} 

v.push_back(11) ne fonctionne pas ce qui est correct?

+5

'V' est un vecteur de vecteur, d'où ses éléments sont vecteurs, pas des entiers ... –

+2

Ce code « pragment » est très intéressant :) – jethro

+1

Voir: [Vecteur multidimensionnel] (http://stackoverflow.com/questions/823562/multi-dimensional-vector) – Shog9

Répondre

6
#include <iostream> 
#include <ostream> 
#include <vector> 
using namespace std; 

int main() { 
    vector<vector<int> >v; 
    vector<int> a; 
    a.push_back(11); 
    v.push_back(a); 
    return 0; 
} 

Je pense que cela devrait fonctionner :)

droit
+0

"ceci devrait fonctionner" est un signe clair d'un code potentiellement cassé;) l'erreur de syntaxe évidente: '>>' -> '>>' – Dummy00001

+0

Oui oui! j'avais tort: ​​P – Arjit

2
vector<vector<int>>v; 

doit être

vector<vector<int> >v; 

Les >> consécutifs agit comme l'opérateur >> réel.

+0

Il devrait aussi y avoir un espace avant 'v'. –

+2

Dans Visual C++ 2008 Sp1 'vecteur > v;' va bien. –

+0

OP utilise C++ 0x. – kennytm