Grazie per la risposta.

Il compilatore ti dice che sta incontrando per 2 volte la definizione di una stessa struct.
Questo problema è dovuto al fatto che, includendo 2 volte un file .h (una volta nella classe, una volta nel file main), il compilatore trova 2 volte la struct.
Risolvi quindi cosi:

1) Semplicemente non includere il file .h nel tuo main.cpp
Non è vero: come dicevo nel primo post, nel main non includo indexes.h

Le direttive #ifndef #define #endif sono già inserite in tutti i punto h.

2) Aggingi nel file .h delle direttive preprocessore che impediscano il doppio include.
Anche questo lo facevo già.

Poi aggiungi prima di tutto il programma una riga del tipo
codice:

struct nometuastruct;
Che scopo ha? Comunque ho provato a metterlo nel main (era li' che intendevi, no?)
ed ottengo comunque l'errore di compilazione.

Infine, non uso visual c++