2016-04-10 10 views
-2

ベクターの内容を印刷しようとしています。ここでベクターの内容を印刷できませんか?

は、私はここに私のベクトル

vector<SDL_Texture*> hitCardsText; 

を宣言した方法です、私もここで細かい

SDL_Texture *temp = loadTexture(ren, cards[dynamicPlayerCards[0]]); 
hitCardsText.push_back(temp); 
temp = loadTexture(ren, cards[dynamicPlayerCards[1]]); 
hitCardsText.push_back(temp); 

の作品ベクトル、に変数を追加する方法である私にエラーを与えるためのループであり、エラーがどこにあるのかコメントしました

for (int i = 0; i < numNewHitCards; i++){ 
    // i get imediately error where the hitCardText[i] is, when i chnge it to a temp texture, it works fine 
    SDL_RenderCopyEx(ren, hitCardsText[i], NULL, &hitCards[i], NULL, NULL, SDL_FLIP_NONE); 
} 

どのようにしてhitCardsTextベクターをループしますか? hitCardsTextの値を関数SDL_RenderCopyExに渡したいと思います。助けてください。ありがとうございました。

1- 使用イテレータ

for (vector<SDL_Texture*>::iterator it = hitCardsText.begin() ; it != hitCardsText.end(); ++it) 
    cout <<' '<< *it; 

2- アクセス要素用いオペレータ[]

+1

[最小限で完全であり、検証可能な例](http://stackoverflow.com/help/mcve)を作成して表示してください。例えば、ベクトルのポインタをパックした後*何をしますか?あなたは 'temp'ポインタ上でいくつかの"アンロード "関数または"フリー "関数を呼び出しますか?ベクトル*を値*で渡しますか? 'numNewHitCards'とは何ですか?どのように初期化されますか?なぜベクトルイテレータを使用しない、または少なくともベクトルサイズに 'hitCardsText.size()'を使うのですか? –

+0

また、SDL_RenderCopyEX()メソッドのパラメータはどのようなものですか? –

+1

'numNewHitCards'とのやりとりを表示していないので、あなたのループについて何も知らない – johnbakers

答えて

-1

は、あなたは、単にこれらのアプローチのうちの2つを使用することができ、ベクター hitCardsTextを解析します
for(int i=0 ; i < hitCardsText.size() ; i++){ 
    cout<< ' ' << hitCardsText[i]; 
} 

乾杯!