我无法打印矢量的内容吗?

时间:2016-04-10 06:23:08

标签: c++ vector sdl sdl-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循环,我已经评论错误在哪里

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 个答案:

答案 0 :(得分:-1)

要解析向量hitCardsText,您只需使用以下两种方法:

1- 使用迭代器

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

2- 使用operator [] 访问元素:

for(int i=0 ; i < hitCardsText.size() ; i++){  
   cout<< ' ' << hitCardsText[i];  
}

干杯!