ERROR: illegal index, indirection not allowed

Status
Niet open voor verdere reacties.

Atomz

Gebruiker
Lid geworden
27 jun 2007
Berichten
7
Hallo,

ik ben momenteel bezig aan een programma,
en om alles een beetje overzichtelijk te houden maak ik gebruik van headers.

Nu heb ik een header genaamd '_users.h' met daarin een rij 'user_s users[50]' (user_s is een eigen structure)
In mijn c bestand zelf include ik deze header, en ik moet gegevens uit de rij uit de header halen, dit is mijn code:

user_s cu = users[curUserID];

Nu als ik dit probeer te compilen geeft ie me de fout:
error C2107: illegal index, indirection not allowed

Iemand die mij kan helpen?

Grtz, Tom.
 
illegal index zou een belletje moeten doen rinkelen.

Wat is het type van curUserID ?
 
Hallo Tom,

paar opmerkingen: ten eerste zou ik persoonlijk geen arrays, variabelen, functies of wat dan ook implementeren in een header. Omdat per source file (c/cpp) die de _users.h header gebruikt dan dezelfde array krijgt. Als je dan alle source files bij elkaar linkt krijg je "dubbele definitie" errors.

ten tweede deze code:

Code:
user_s cu = users[curUserID];

is illegaal omdat je een struct niet zomaar kan kopieren in een toekenning. Je zult dus of van de variabele cu een pointer/referentie moeten maken of het struct moeten kopieren met memcpy() of iets dergelijks.

De foutmelding die jij krijgt zou wat Johantrax al zegt iets met curUserID te maken moeten hebben.


gr. Sam
 
Laatst bewerkt:
Beste,

ik heb ondertussen al gevonden wat het probleem was.
Het probleem zat hem erin dat curUserID een functie is,
en ik dus moest zeggen curUserID(), niet gewoon curUserID.

Mvg, Tom.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan