Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

18.01.2009, 20:21

Pointer adressen übergeben

Hallo
Ich will die adresse einer Instanz von einem pointer in einen anderen übergeben. Kein fehler. Probiereich nun eine funktion der instanz aufzurufen sagt mir der Kompiler er würde keine instanz finden

C-/C++-Quelltext

1
2
3
                pObjektliste[i].F_SetEtap(X_Pos,Y_Pos);
                cout << endl << "Objekt bewegt sich nach X:" << X_Pos << " und Y:" << Y_Pos << endl;
                *pSpielfeld[X_Pos][Y_Pos] = pObjektliste[i];
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

18.01.2009, 20:24

Kannst du bitte mal die genaue Typdefinition von allen beteiligten Typen zeigen?

3

18.01.2009, 22:47

char maincounter;
short X_Lange;
short Y_Lange;
short X_Pos;
short Y_Pos;
short Menge;
C_Objekt *pObjektliste;
short Objekt;
C_Objekt *pSpielfeld;

do
{
cout << endl << "Wie viele Objekte hättest du gern denn gern?(2-10)";
cin >> Menge;
}while (Menge < 2 || Menge > 10);

pObjektliste = new C_Objekt[Menge];
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

4

18.01.2009, 22:51

Re: Pointer adressen übergeben

Quellcode

1
*pSpielfeld[X_Pos][Y_Pos] = pObjektliste[i];


Hmm, vielleicht eher:

Quellcode

1
pSpielfeld[X_Pos][Y_Pos] = pObjektliste[i];


Oder:

Quellcode

1
pSpielfeld[X_Pos][Y_Pos] = *pObjektliste[i];


Check noch nicht ganz was du genau machen willst, aber vlt kannst du ja einen der Vorschläge gebrauchen.

Faule Socke

Community-Fossil

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

5

18.01.2009, 22:55

Zitat von »"Flonk"«


C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        char maincounter;
    short X_Lange;
    short Y_Lange;
    short X_Pos;
    short Y_Pos;
    short Menge;
    C_Objekt *pObjektliste;
    short Objekt;
    C_Objekt *pSpielfeld;

    do
    {
    cout << endl << "Wie viele Objekte hättest du gern denn gern?(2-10)";
    cin >> Menge;
    }while (Menge < 2 || Menge > 10);

    pObjektliste = new C_Objekt[Menge];


Nur damit es mit code tags da steht...

Ich nehme an, der Compiler meckert in folgender Zeile:

C-/C++-Quelltext

1
*pSpielfeld[X_Pos][Y_Pos] = pObjektliste[i];

Hast du den [] Operator auch korrekt für deine C_Object klasse überladen? Zeig uns mal die Klasse...

Socke

PS: Bitte immer den cpp-Tag benutzen.

6

19.01.2009, 11:10

http://spieleprogrammierer.de/phpBB2/viewtopic.php?t=10949
ich hatte bereits probleme sind aber gefixt

@Kbal
hab ich schon probiert
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

7

19.01.2009, 13:46

Ich verstehe garnicht was das Problem hier ist, könntest du es vielleicht mal ganz exakt beschreiben?
<< an dieser Stelle ist eine Signatur verstorben >>

8

19.01.2009, 14:07

c:\users\flonk\projekte\aurora\main.cpp(127) : error C2676: Binärer Operator '[': 'C_Objekt' definiert diesen Operator oder eine Konvertierung in einen für den vordefinierten Operator geeigneten Typ nicht
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

9

19.01.2009, 14:10

Dann ist es wohl, wie Faule Socke schon gesagt hat, etwas stimmt mit der Überladung des [] Operators nicht. Zeig doch mal die Klassendefinition von C_Objekt.
<< an dieser Stelle ist eine Signatur verstorben >>

10

19.01.2009, 14:40

siehe link
da is die klasse bei
Gewinnen ist, wenn man einmal mehr aufsteht, als man zu Boden geht.

Werbeanzeige