Hallo zusammen!
Ich habe eben Visual Studio 2012 installiert und wollte ein kleines Programm, welches ich mit sfml 2.0 geschrieben habe in dieser Umgebung ausführen. Das Programm läuft so wie es ist einwandfrei, zumindest in Visual Studio 2010. In Visual Studio 2012 wird mir immer gesagt, dass der Stack um die Variable 'rect' beschädigt wurde und ich kann mir nicht ganz erklären, warum mir das vorher nie angezeigt wurde. ich habe eine Funktion, die verschiedene Sprites auf den Bildschirm anzeigen soll. In dieser wird die Instanz 'rect' erzeugt. Mehr nicht. Hier die Funktion:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
void DrawMap(sf::RenderWindow &Window)
{
sf::RectangleShape rect;
rect.setSize(sf::Vector2f(BLOCKSIZE, BLOCKSIZE));
rect.setFillColor(sf::Color(255, 255, 255, 255));
sf::Color rectCol;
sf::Sprite sprite;
for(int i=0; i < mapVector.size(); i++)
{
for(int j=0; j < mapVector[i].size(); j++)
{
if(mapVector[i][j] < 0)
{
rectCol = sf::Color(44, 117, 255);
rect.setPosition(j*BLOCKSIZE, i*BLOCKSIZE);
rect.setFillColor(rectCol);
Window.draw(rect);
}
else
{
sprite.setTexture(textureVector[mapVector[i][j]]);
sprite.setPosition((float)j*BLOCKSIZE, (float)i*BLOCKSIZE);
Window.draw(sprite);
}
}
}
}
|
Ich weiß leider nicht, wie ich das Problem beheben kann und hoffe auf eure Hilfe!
Gruß,
Luca