()
Newbie
Messaggi:
Iscritto:
|
Salve, allora ho un programma su più sorgenti.
main.cpp
include.h
framework.cpp
framework.h
classi.cpp
classi.h
funzioni.cpp
funzioni.h
Allora in framework.h ho definito un namespace "fe_frame" in cui ci sono le classi "framework" ed "error". Ho bisogno anche di uno stream per scrivere gli eventuali errori su file e nel namespace definisco ofstream *error_stream;
Posto il codice :
Codice sorgente - presumibilmente C++ |
#ifndef FE_FRAME #define FE_FRAME #include "include.h" //per le librerie SDL #include <fstream> #include <iostream> using namespace std; namespace fe_frame { ofstream *error_stream; void setStreamOut(ofstream &file); class framework { .... }; class error { ... }; }; #endif
|
allora, nonostante le direttive #ifndef,#define #endif il compilatore dice che error_stream è gia definito in classi.obj, questo perchè l'header è incluso da piu file.
Non riesco a trovare una soluzione, ho anche provato a definire extern ofstream *error_strem, ma mi da lo stesso errore!
p.s : uso visual c++ express 2010
Ultima modifica effettuata da il 02/09/2010 alle 20:01 |