Oppure

Loading
01/01/11 14:55
Twizer
innanzitutto buon anno a tutti :k:

vi spiego subito il mio problema
scrivendo il codice per un progetto utilizzo due funzioni in due classi differenti, mi spiego meglio

le funzioni nello specifico sono una string_to_int e una int_to_string
completamente slegabili dalle classi che ne richiedono l'uso.

Per questo motivo ho deciso di scrivere un header (basic.h) a parte contenente le due funzioni e poi di farle richiamare dalle classi con una #include

il problema è che basic.h venendo inclusa 2 volte in fase di compilazione mi restituisce un errore di multiple definition...

come è possibile risolvere questo problema?

grazie anticipatamente
aaa
01/01/11 15:05
nel file .h usa le direttive :

#ifndef BASIC_H
 #define BASIC_H
     ....
     codice
     ....

#endif


e, sempre nell'header, dichiara solo i prototipi delle funzioni come extern.
Crea un file .cpp, magari con lo stesso nome dell'header per individuarlo (quindi basic.cpp) e li implementa le funzioni vere e proprie. ricordati di includere l'header e di aggiungere il file .cpp al progetto o non verrà trovato il corpo delle funzioni e otterrai di nuovo errore! :k:
Ultima modifica effettuata da 01/01/11 15:06
01/01/11 16:43
HeDo
Postato originariamente da carlduke:

nel file .h usa le direttive :

#ifndef BASIC_H
 #define BASIC_H
     ....
     codice
     ....

#endif


e, sempre nell'header, dichiara solo i prototipi delle funzioni come extern.
Crea un file .cpp, magari con lo stesso nome dell'header per individuarlo (quindi basic.cpp) e li implementa le funzioni vere e proprie. ricordati di includere l'header e di aggiungere il file .cpp al progetto o non verrà trovato il corpo delle funzioni e otterrai di nuovo errore! :k:


oppure funziona anche

#pragma once
aaa
01/01/11 19:11
Twizer
Grazie ad entrambi, sono riuscito a risolvere
:k:
aaa