2010-07-04 5 views
3

J'ai essayé de créer un tableau 2D de vecteur pour un jeu. Voici un exemple de ce que je fais.Création d'un tableau 2D de vecteurs

struct TILE { 
    int a; 
    char b; 
    bool c; 
}; 

TILE temp_tile; 

std::vector<TILE> temp_vec_tile; 
std::vector<std::vector<TILE>> tile; 


for (int x = 0; x < 10; x++) { 
    for (int y = 0; y < 10; y++) { 

    temp_tile.a = x; 
    temp_tile.b = "a"; 
    temp_tile.c = false;; 

    temp_vec_tile.push_back(temp_tile); 
    } 

    tile.push_back(temp_vec_tile); 
} 

// Why does this not work? 
int x = tile[3][5].a; 

Remarque: Je ne souhaite pas utiliser Boost pour cela.

Merci

+0

Qu'est-ce qui ne fonctionne pas exactement? – casablanca

+0

Brian R. Bondy a déjà résolu le problème – user382909

Répondre

0

Vous ne supprimez pas le vecteur interne chaque fois. Probablement ce que vous voulez est de mettre la déclaration de vecteur interne à l'intérieur de la première boucle.

+0

Merci, cela a fait l'affaire! – user382909