Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    51

    [C++] errore con <iostream.h>

    Ho tentato di compilare il primissimo esempio della guida C++ di html.it, usando
    Microsoft Visual C++ Express. L'esempio e' banale:

    codice:
    //
    // PRIMO.CPP
    // Il primo esempio in C++
    //
    #include <iostream.h>
    main()
    {
    cout << " CIAO MONDO! ";
    return (0);
    }

    Ho creato un nuovo progetto, tipo console win 32, senza headers precompilati.

    Ecco l'errore:

    fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory


    Allora osservando come erano scritti altri listati, ho tolto il .h, scrivendo solo
    #include <iostream>

    Ecco gli errori:
    error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
    error C2065: 'cout' : undeclared identifier
    Cioe' adesso trova iostream, ma non mi riconosce cout!!

    Allora ho fatto un altro tentativo: dalle microsoft SDK ho incluso "manualmente" il file iostream.h nel progetto.
    Niente da fare, non lo vede.

    Alla fine, sempre vedendo gli esempi, ho fatto un'altra prova:

    ho aggiunto "using namespace sdt", e ha funzionato!!!!

    Alcune considerazioni:

    1) Non riuscire a compilare il primo esempio di una guida e' davvero frustrante. Vi prego di aiutarmi :-(
    2) Immagino il codice della guida di html.it sia obsoleto: dentro tutti gli esempi della guida del visual c++
    ho trovato #include <iostream> invece di #include <iostream.h>, inoltre ottengo gli stessi errori anche con il Dev C++,
    che a differenza del Visual C++, mi compila il codice, ma mi restituisce pure un warning che mi avverte che

    "#warning This file includes at least one deprecated or antiquated header. \
    Please consider using one of the 32 headers found in section 17.4.1.2 of the \
    C++ standard. Examples include substituting the <X> header for the <X.h> \
    header for C++ includes, or <iostream> instead of the deprecated header \
    <iostream.h>."

    3) Sicuramente ci deve essere un modo per compilare l'esempio sopra senza ricorrere alla Standard Template Library...potreste dirmi qual'e'?

    Grazie,

    Zax

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2005
    Messaggi
    38
    prova a compilarlo con devc++ all'inizio è + semplice,cmnque mi sa ke in vc++ sbagli a creare il tipo di progetto,oppure nn gli inserisci il sorgente .cpp

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    51
    No, e' proprio un errore del codice, obsoleto. Ho trovato la stessa cosa su un forum della Suse:

    the warning is because iostream.h is obsolete you should use iostream and
    you then must define the namespace std.

    If your C++ book uses iostream.h it is old and you should get another book

    so your program should be like that:

    #include <iostream>

    using namespace std;

    int main()
    {
    cout<<"Hello World"<<endl;
    return 0;
    }
    un altro modo corretto è anche questo:

    codice:
    #include <iostream>
    
    int main() {
      std::cout << "hello World !\";
    }

    E' una risposta a questa domanda qui, praticamente identica alla mia:

    http://lists.suse.com/archive/suse-p...-May/0102.html





    Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.