Wert wird nicht an Array übergeben
-
Hallo,
Verständnisfrage
static array <int> ^eckpunkte = gcnew array <int> (8); public: void Quadraht_100(){...} void zQuadraht_100(){...} //quadraht rechnen void rQuadraht(int wert){ double rechne = 100 - wert; rechne = rechne * 0,7; eckpunkte[0] = eckpunkte[0] + rechne; }
ich habe ein Array angelegt, welches ich mittels einer Funktion mit neuen Werten zuweisen möchte, siehe
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { //eckpunkte festlegen Quadraht_100(); //caosquadrat zeichen zQuadraht_100(); //größe andern rQuadraht(120); //eckpunkte[0]=53; Wert wird neu geschrieben textBoxAbfragen->Text=Convert::ToString(eckpunkte[0]); }
die Werte werden aber bei der Funktion rQuadrat nicht übernommen/übergeben??
erstelle ich in der Load-Anweisung eine Zuweisung, dann werden die Werte übernommen,Wo liegt mein Fehler?? müsste doch eigentlich gehen.
Abgesehen von den Konvertierungsproblem, was noch behoben wird.mfg FV
-
Warum legst Du ein statisches Array an?
Übergebe es doch einfach?Und ganz vertanden hab ich jetzt nicht was Du willst, da Du das Array ja nirgends verwendest; außer beim Ausgeben des ersten Elementes...
VIelleicht solltest Du auch lieber "List<int>^" verwenden... ist ein wenig flexibler, da die Größe nicht fix ist, wie das bei einem Array ist...
-
Ich nehme an, dass er das Array statisch anlegte, weil es ohne static nicht ging (= er konnte es nicht dort erzeugen wo es deklariert wurde), weil er nicht wusste, dass das im Konstruktor gehen würde.
Gehört wahrscheinlich in die Kategorie Problem Lösugen mit casts oder static...
-
hi,
ich verwende es schon!!, ich hatte nur die Eckdaten hier kopiert,
warum ich es nicht mit Ref Class im Konstruktor erstellt habe wollte ich auch nicht wissen, ich wollte nur wissen warum ich nicht auf ein Static Array global über eine Funktion zugreifen kann um Werte im Array zu ändern.
auf Links wie
http://www.c-plusplus.net/forum/viewtopic-var-t-is-274491-and-postdays-is-0-and-postorder-is-asc-and-highlight-is-array+im+konstruktor-and-start-is-0.html
oder
http://msdn.microsoft.com/de-de/library/fkzha470(v=VS.80).aspx
brauch nicht verwiesen zu werden,ich suche keine Lösung für das Problem, ich suche den Grund warum es so nicht geht!!!
MfG FV
-
Ich verstehe aus dem Text den Du geschrieben hast nicht was jetzt nicht geht und was Du erreichen willst.
-
Wenn Du nicht zugreifen kannst, dann darfst Du es vermutlich nicht... also entweder befindest Du Dich nicht in der gleichen Klasse oder es ist nicht public/internal...
-
hi,
habe nun mein Schusselfehler gefunden
rechne = rechne * 0,7;
so ist es wenn man sich zu sehr auf den Ziffernblock einschießt, vll hatte ich mein Problem auch etwas umständlich beschrieben
trotzdem DankeMfG FX