2010-12-27 2 views
0

Ich versuche, die STL-Bibliothek innerhalb der SDL zu verwenden. aber es gibt mir den Fehler
"undeclared identifier" Gibt es eine Möglichkeit, "\n" verwenden können oder sogar cout<<endl; Kann die Funktion SDL_WarpMouse, die auf eine gewünschte Stelle auf dem Bildschirm mit dem Mauszeiger platziert helfen mir dabei. Weil ich eine Kachel auf die nächste Zeilenfolge legen möchte.
Ich hoffe, Sie bekommen die Frage. Es ist jedoch eine sehr vage und verpatzte Frage (sorry dafür).So implementieren Sie die Escape-Sequenz in SDL

EDIT:

void putMap(SDL_Surface* tile, SDL_Surface* screen) 
{ 
    for(int y = 0; y < 21; y++) 
    { 
     for(int x = 0; x < 60; x++) 
     { 
      if(maze[x][y] != '#') 
      { 
       apply_surface(x*10 , y*10 , tile, screen); 
      } 
     } 
     cout<<endl; 
    } 
} 

c:\documents and settings\administrator\my documents\visual studio 2008\projects\craptest\craptest\main.cpp(605) : error C2065: 'cout' : undeclared identifier

c:\documents and settings\administrator\my documents\visual studio 2008\projects\craptest\craptest\main.cpp(605) : error C2065: 'endl' : undeclared identifier

Dies ist meine apply_surface Funktion.

void apply_surface(int x, int y, SDL_Surface* source, SDL_Surface* destination) 
{ 
    //Make a temporary rectangle to hold the offsets 
    SDL_Rect offset; 

    //Give the offsets to the rectangle 
    offset.x = x; 
    offset.y = y; 

    //Blit the surface 
    SDL_BlitSurface(source, NULL, destination, &offset); 
} 
+1

„es gibt mir den Fehler .. . "Was gibt dir den Fehler? Sende deinen Code. (Warum eine Frage stellen, wenn Sie wissen, dass es "vage und durcheinander ist?" Stellen Sie die Frage, bevor Sie es veröffentlichen.) –

+0

Wie man cout und endl zur Arbeit bekommt, wird von @James McNellis geantwortet. Aber wie wäre es sinnvoll, bei der Arbeit mit SDL-Oberflächen eine neue Zeile auf der Konsole auszugeben? Es ist so, als würde man dem Milchmann sagen, dass man eine Stunde später Zeitungspapier haben will ... – mmmmmmmm

+0

Ja, ich glaube, ich brauche es nicht, es ist SDL. –

Antwort

2

cout und endl sind im std Namespace und muss qualifiziert sein:

std::cout << std::endl; 

Alternativ können Sie eine using-Deklaration verwenden:

using std::cout; 
using std::endl; 

cout << endl; 
Verwandte Themen