Hallo,
ich hab eine eigene Klasse Einheit definiert und per Zeiger dann einige Objekte definiert:
if(m_akltrans > 0)
{
Einheit *angreifer_kltrans;
angreifer_kltrans = new Einheit[m_akltrans];
for(x=1;x
Hallo Mavcraft
if(m_akltrans > 0) {
Einheit *angreifer_kltrans;
angreifer_kltrans = new Einheit[m_akltrans];
Abgesehen davon, dass diese Schleife
for(x=1; x
Okay, das ist meine Klasse:
class Einheit
{
public:
void SetFlag(bool flag);
void SetHuelle(int huelle);
void LadeSchild(int schild);
void SetAngriff(int angriff);
int GetAngriff();
int GetHuelle();
int GetSchild();
bool GetFlag();
private:
int itsHuelle;
int itsSchild;
int itsAngriff;
bool itsFlag;
};
Dann folgt in meiner Funktion:
if(m_akltrans > 0)
{
Einheit *angreifer_kltrans;
angreifer_kltrans = new Einheit[m_akltrans];
for(x=1;x 0)
{
for(x=1;x
Hallo,
Okay, das ist meine Klasse:
Dann folgt in meiner Funktion:
if(m_akltrans > 0){
Einheit \ *angreifer_kltrans ;
angreifer_kltrans = new Einheit[m_akltrans];
…
}
if(m_akltrans > 0) {
for(x=1;xangreifer_kltrans[x-1].LadeSchild(KLTRANS_SCHILD);
}dann kennt er auf einmal angreifer_kltrans nicht mehr.
Ja logisch
if (BLOCK\_1) {
int variable = 1; // Im obigen Beispiel ist 'variable' Block-lokal,
d.h. nach Verlassen des Blocks wird sie zerstört
und ist nicht mehr sichtbar.
Grüße
CMБ
Ist es schlimm, wenn m_akltrans 0 ist?
Wenn den Compiler sowas wie new int[0] nicht stört, dann kann ich den if-Block ja weglassen und dann klappt es auch.
Gruß
Mavcraft
du brauchst die variable bloss vor dem ersten if zu deklarieren, dann ist sie in jedem if sichtbar. Noch was: du brauchst einen Zeiger vom Typ Einheit, damit " = new Einheit" auc Sinn macht, also:
Einheit \*pe = new Einheit;
Martin
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
du brauchst die variable bloss vor dem ersten if zu
deklarieren, dann ist sie in jedem if sichtbar. Noch was: du
brauchst einen Zeiger vom Typ Einheit, damit " = new Einheit"
auc Sinn macht, also:Einheit *pe = new Einheit;
Martin
Das habe ich auch gemacht. Wenn ich dann
Einheit *pe = new Einheit[0]
schreiben kann, dann ist ja gut. Dann lasse ich if einfach weg.
Danke für eure Hilfe!
Gruß
Mavcraft