Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012

    [VC++] Problemi con progetti multifile

    Siccome un mio progetto con solo main.cpp stava diventando molto lungo, ho ben deciso di suddividerlo in diversi file.

    Ho provato a ricompilare: 68 errors

    Il file main.cpp è strutturato in questo modo:
    [code]

    // File di inclusione della libreria standard
    #include <iostream>

    using namespace std;

    // Un typedef
    typedef unsigned int pos_type;

    // File di includione MIEI
    #include "utils.cpp"
    #include "ricerca.cpp"
    #include "algoritmi.cpp"


    // Main()
    void main() {...}

    [CODE]

    Ma nei file inclusi non funzionano:
    • Le funzioni della libreria standard (#include iostream>)
    • L'uso implicito del namespace ::std (using namespace std
    • Il tipo pos_type (typedef ...)


    Dovrò mica riscrivere tutto all'inizio di ogni file?
    Ma includere un file non era come "ricopiarlo dentro" ? :master:

    Help me!!


  2. #2
    Utente di HTML.it L'avatar di EkoZZ
    Registrato dal
    Jul 2003
    Messaggi
    117
    Se ho capito il problema, la cosa + conveniente da fare in questi casi è creare un header con tutti i file da includere (nel tuo caso iostream.h e tutti gli altri) da includere in ogni file che utilizza queste librerie.
    Quando includi un file, infatti, dopo esser stato preprocessato, nel programma finale sono contenute le funzioni che stanno nell'header; ma, nel tuo caso, includendo degli header usati da altri file inclusi da main, la cosa non funziona, perchè i file inclusi sono preprocessati prima di main e non possono usare le funzioni di iostream.

    Ciao...
    Yes, Linux is better... It does infinites loops in 5 seconds...
    ~Linus Torvalds~

  3. #3
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    OK

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.