![]() |
Re: [C++] Pointer-Problem: illegal indirection
Auch wenn ich nicht sehr oft mit C++ gearbeitet habe, würde ich intuitiv doch Torpedo zustimmen. Denn wenn ich einen int* habe, diesen als Array interpretiere und dann indexiere (und das gibts :shock: ), dann muss ich das nicht auch noch dereferenzieren. Zum Mitschreiben:
Code:
Und jetzt lyncht mich.
int* IntArray;
IntArray = new int[5]; //ist das so richtig? //oder gerne auch mit malloc IntArray[3] = 5; delete IntArray; |
Re: [C++] Pointer-Problem: illegal indirection
@Apollonius:
Das ist mehr Java als C++ ;) Hier mal ein Beispiel:
Code:
#include <iostream>
using namespace std; int main() { int arr[5]; // Normales Array erstellen int * a = arr; // Das Programm kompiliert hier fehlerlos, weil ein array ein Pointer ist und damit mit int* kompatibel a[0] = 3; // Trotzdem kann man dann ohne * darauf zugreifen, weil das schon [] macht cout<<a[0]<<"\n"; // Es wird 3 ausgegeben return 0; } |
Re: [C++] Pointer-Problem: illegal indirection
Tatsache, Torpedo hat recht. :thumb:
Der Fehler: Zitat:
Code:
Ich danke allen, die mir hier geantwortet haben. :)
void CPruefung::NummerSenden()
|
Re: [C++] Pointer-Problem: illegal indirection
Aaaah, jetzt hab ich es auch verstanden. Glaube ich :mrgreen: . Wenn ich das richtig sehe, enthält das Array ja gar keine Zeiger, sondern direkt die Objekte (so langsam verstehe ich, warum C++ mit diesem Konzept ziemlich allein auf weiter Flur steht *g*), dann ist die Dereferenzierung per * oder -> natürlich komplett überflüssig. Die Dereferenzierung von CStudent* nach CStudent steckt ja schon im []-Operator.
[edit] Jut, so langsam erreichen wir wohl Konsens ;) . [/edit] |
Re: [C++] Pointer-Problem: illegal indirection
@Torpedo:
Das ist wohl ein Kompliment - ich habe mich nie im Entferntesten mit Java beschäftigt. Aber sofern mich meine C-Kenntnisse nicht ganz verlassen haben, ist mein Code auch halbwegs korrekt, wenn ich ein dynamisches Array erstellen will - bei dir ist die Größe ja hartcodiert. Und falls das new nicht ganz stimmen sollte, kann man ja auch malloc(5*4) nehmen. |
Re: [C++] Pointer-Problem: illegal indirection
Zitat:
Nun habe ich hier 2 nützliche Dinge gelernt: 1. [] ist ein Operator (ich wusste das wirklich nicht) 2. [] dereferenziert gleich, sehr schön. :) Danke nochmals. |
Re: [C++] Pointer-Problem: illegal indirection
Etwas offtopic, aber vielleicht interessant für dich:
Zitat:
|
Re: [C++] Pointer-Problem: illegal indirection
Hi
Zitat:
Das mit dem Überladen lasse ich vorerst mal, sonst geht hinterher gar nichts mehr und ich blicke überhaupt nicht mehr durch. :mrgreen: Danke für die Info. Man lernt eben nie aus. :) |
Re: [C++] Pointer-Problem: illegal indirection
Zitat:
|
Re: [C++] Pointer-Problem: illegal indirection
Zitat:
@Torpedo: Fragt sich, ob man eine verkettete Liste wirklich indizieren will :mrgreen: . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz