Oppure

Loading
14/06/11 0:12
eisterman
Salve.
Mentre stavo iniziando il mio primo progetto con Allegro volevo provare a mettere una normalissima stringa.

Solo che la console di compilazione (il file di intestazione string è stato incluso) mi dice che "string" non è stato dichiarato.

VI metto il codice.
#include <allegro.h>
#include <string>

int main() 
{	
	allegro_init();
	install_keyboard();
	
	set_color_depth(32);
	set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 700, 0, 0);
	
	BITMAP *buffer = create_bitmap(640, 700);
	clear_to_color(buffer, 0x333333);
	
	rect(buffer, 1, 1, 51, 51, 0x21D059);
	rect(buffer, 2, 2, 50, 50, 0x21D059);
	rect(buffer, 3, 3, 49, 49, 0x21D059);
	
	textout_centre_ex(buffer, font, "Demo della Libreria Allegro per imparare a usare la stessa" , 320, 5, 0xFFFFFF, 0x333333);
	
	rectfill(buffer, 50, 100, 550, 600, 0xDF1680);
	
	blit(buffer, screen, 0, 0, 0, 0, 640, 700);
	
	char Chiave;
	Chiave = readkey();
	string Caspio;
	Caspio = Chiave;
	textout_centre_ex(buffer, font, Caspio , 320, 5, 0xFFFFFF, 0x333333);
	readkey();
	
	destroy_bitmap(buffer);
	
	return 0;
}
END_OF_MAIN();


Vi prego! Risolvete questo bizzarro ma problematico errore.

Gli errori piu importanti sono alla riga 27 e 28. Ignorate la 29 perchè so' gia cosa ho sbagliato. Ma per risolvere devo usare una stringa.
Ultima modifica effettuata da eisterman 14/06/11 0:14
aaa
14/06/11 6:52
Pitagora
eh si. Devi includere anche il name space per poter usare la classe string. Subito dopo l'inclusione dell'header string, scrivi quanto segue:

using std::string;


Altri menti c'è una seconda soluzione. Ogni volta che incontri il vocabolo string, lo devi far precedere sempre il nome std::

Esempio:
...
std::string stringa;
stringa = "Hello";
...


Io ti consiglio la prima, per il semplice fatto che ti risparmi ogni std:: ad ogni stringa.

P.S. non è meglio imparare prima il C++ e poi le Allegro :-?
Ultima modifica effettuata da Pitagora 14/06/11 6:59
aaa