PDA

View Full Version : mmmmmhhh... le indicazioni del libro non vanno


xabraita12
18-08-2007, 00:34
io mi sto leggendo il mio bel libricino di C++ e subito sorgono i primi problemi
sul libro dice di inserire queste righe di codice

#include <iostream>

using namespace std;

int main()
{
cout << "Hello World!\n";
return 0;
}

io sto usando visual studio 2005 e ho dei seri problemi dato che il codice non me lo genera continuandomi a dare dei problemi vari

osservando un po ho notaato che visual studi dopo include usa le virgolette e nn le frecce e poi no mi accetta neanche "using namespace std" e mi dice che cout non e dichiarata. Il libro e fondamenti di C++ del 2003 e non capisco come possano esserci delle differenze tali aiutatemi a risolvere il problema:help: please

P.S.il libro dice che ci potrebbero essere delle differenze con iostream ma dice solo che alcuni programmi prendono <iostream.h> e non dice niente a proposito di "iostream.h"


EDIT: fatal error C1083: Impossibile aprire il file inclusione 'iostream.h': No such file or directory

EDIT 2 : ho cambiato e messo "iostream" e basta e ora lo accetta ma:error C2065: 'cout': identificatore non dichiarato - a quanto pare non identifica cout percheeeeeeeeeeeeeeeeeee, non ho messo using names space std; perche seno da un'altro errore

xabraita12
18-08-2007, 00:46
ci sono riuscito pero ho aperto un'altro forum per niente be almeno sara utile se capitera l'errore a qualche altra persona


cmq il code e :

#include "stdafx.h"
#include "iostream"

using namespace std;
int main()
{
cout << "Hello world\n";
return 0;
}


che banalità di errori che ho fatto

71104
18-08-2007, 01:07
in realtà il sorgente che hai postato nel primo post è perfettamente valido in C++, il problema dipende sicuramente da come hai impostato il progetto nel crearlo. per lavorare in C++ perfettamente standard in Visual C++ 2005 Express bisogna seguire questi passi:
1) File -> New -> Project...
2) General -> Empty Project -> (inserisci il nome del progetto) -> OK
3) clic destro sulla cartella "Source files", a sinistra -> Add -> New item...
4) Visual C++ -> Code -> C++ File (.cpp) -> (scrivi il nome del file, bada che abbia l'estensione .cpp) -> Add

ora dovresti poter scrivere sorgenti C++ del tutto standard. per la cronaca, dopo un include è possibile mettere tanto virgolette doppie quanto parentesi ad angolo (cioè < e >), ma ovviamente c'è una differenza: le virgolette doppie indicano che il path è un path relativo alla cartella corrente del progetto, e quindi si usano solo per includere headers scritti da te; le parentesi ad angolo invece specificano al compilatore di usare un diverso algoritmo di ricerca per l'header: la ricerca parte dalle cartelle di sistema del compilatore, percui si usano solo per includere headers di sistema come appunto iostream e come tanti altri ne vedrai leggendo quel libro.

ultima cosa: la differenza tra iostream e iostream.h è che la prima è una versione più nuova (lo standard del C++ col tempo si è evoluto e la naming convetion degli headers è cambiata). l'header con la vecchia naming convention è presente solo per compatibilità coi sorgenti molto vecchi, e non deve essere usato in quelli nuovi perché è segnato come obsoleto.