Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

C++ Variable wird nicht erkannt

uwebaier - 36
Halbprofi (offline)

Dabei seit 06.2005
124 Beiträge

Geschrieben am: 10.11.2007 um 17:20 Uhr
Zuletzt editiert am: 10.11.2007 um 17:21 Uhr

Also folgendes:
Ich hab einen Pointer auf ein array von struct.
Jetz will ich auf ein bestimmtes Arrayelement zugreifen,
was ja prinzipiell so aussehen könnte:
(structPointer+arrayelement)->Attribut
Aber mein Kompiler sagt mir das die variable zum zugreifen auf dieses bestimmte Element nicht existieren würde...

Hier gibts quelltext:

Zitat:

bool Unterkunft::pruefe
(time_t Anreise,
time_t Abreise,
int Zimmernummmer)
{
if (Anreise>=(dieZimmer+Zimmernummer)->freiAb &&
Abreise<=(dieZimmer+Zimmernummer)->freiBis)
{
return true;
}
else
{
return false;
}
}


genauer technischer Fehler:
[C++ Fehler] unterkunft.h(92): E2451 Undefiniertes Symbol 'Zimmernummer'

Danke für jede Hilfe


UT3 Sucks ^^

Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 10.11.2007 um 18:02 Uhr

Also für mich sieht das aus, als sei da eher std::size_t als Datentyp für Zimmernummer passend.
Dazu hielte ich die Konstruktionen:
dieZimmer[Zimmernummer].freiAb
bzw.
dieZimmer[Zimmernummer].freiBis
für weitaus unkomplizierter beim Arrayzugriff

wobei die Fehlermeldung nicht dem Code genau zuzuordnen ist ...
Steht der Code hier so in der Header drin oder steht der hier in der source ?
wenn zweiteres - kann es sei, dass der Funktionskopf in der Klassendeklaration versehentlich anders aussieht?

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

uwebaier - 36
Halbprofi (offline)

Dabei seit 06.2005
124 Beiträge

Geschrieben am: 10.11.2007 um 18:03 Uhr

Mir ists selber aufgefallen =)
Tippfehler...

[Close plz]

UT3 Sucks ^^

Rifleman - 40
Experte (offline)

Dabei seit 09.2003
1540 Beiträge
Geschrieben am: 10.11.2007 um 18:44 Uhr

Zitat von uwebaier:


if (Anreise>=(dieZimmer+Zimmernummer)->freiAb &&
Abreise<=(dieZimmer+Zimmernummer)->freiBis)
{
return true;
}
else
{
return false;
}

Nur noch als kleine Anmerkung:
So eine Konstruktion sollte man wirklich vermeiden, das ist IMHO sehr schlechter Stil...

Es sind die kleinen Dinge, die einen zum Wahnsinn treiben.

Polaris
Experte (offline)

Dabei seit 07.2006
1766 Beiträge
Geschrieben am: 10.11.2007 um 20:59 Uhr

Zitat von Rifleman:

Zitat von uwebaier:


if (Anreise>=(dieZimmer+Zimmernummer)->freiAb &&
Abreise<=(dieZimmer+Zimmernummer)->freiBis)
{
return true;
}
else
{
return false;
}

Nur noch als kleine Anmerkung:
So eine Konstruktion sollte man wirklich vermeiden, das ist IMHO sehr schlechter Stil...

und eine Inlinedeklaration wäre für diese Funktion außerdem nicht schlecht

Patriotismus ist die Tugend der Bosheit! (Oscar Wilde)

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2026 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -