Domanda sulle strutture...

di il
6 risposte

Domanda sulle strutture...

Ciao a tutti,
espongo il dubbio / problema, ho 3 strutture di questo tipo:
struct filters
{
	static int actual;
	static const char *text[];
	static size_t length;
};

struct sub_filters
{
	static int actual;
	static const char *text[];
	static size_t length;
};

struct custom_filters
{
	static int actual;
	static const char *text[];
	static size_t length;
};
nel file d'intestazione, che poi vengono inizializzate tutte in modo separato con valori differenti nel file cpp.

E' possibile ridurre il tutto ad una struttura sola, mantenendo però le definizioni separate?

6 Risposte

  • Re: Domanda sulle strutture...

    Ciao,
    il contenuto delle strutture è sempre uguale, quindi puoi usare una sola dichiarazione.
  • Re: Domanda sulle strutture...

    Infatti è quello che vorrei fare, ma il problema è quando li vado a definire nel file .cpp, io uso la forma:
    int filters::actual = 0;
    int sub_filters::actual = 1;
    
    Quindi non so' come differenziarli se uso solo una struttura
  • Re: Domanda sulle strutture...

    Ma perché li devi differenziare? E allora come fai a differenziare due interi? Eppure li dichiari sempre con int... Leggi qui: link. E ricorda che struct definisce un nuovo tipo di variabile, esattamente come fosse int, char, float, ... Quindi nel tuo caso va benissimo utilizzare una sola dichiarazione.
  • Re: Domanda sulle strutture...

    Concordo con minomic ...

    Quando dovrai usare la struttura (che chiamerai common_filter) potrai scrivere, ad esempio
    
    struct common_filter  filters;
    struct common_filter  subfilter;
    
  • Re: Domanda sulle strutture...

    Grazie per l'aiuto, ho risolto creando una macro della struttura:
    #define main_struct(name) \
    struct name##_filters \
    { \
    	static int actual; \
    	static const char *text[]; \
    	static size_t length; \
    };
    
    main_struct(main);
    main_struct(sub);
    main_struct(custom);
    In realtà uso la struttura solo come raggruppamento di variabili globali.
  • Re: Domanda sulle strutture...

    Come detto prima, non ha senso, ma contento tu ...
Devi accedere o registrarti per scrivere nel forum
6 risposte