Anfänge mit Visual Studio 2008
-
#include "stdafx.h" int b_costs[2][2][2]; // <-- Zeile 3 b_costs[1][1][1] = 90; // <-- Zeile 36
Dazwischen liegen nur Kommentare und dahinter nichts mehr.
-
Antispy schrieb:
#include "stdafx.h" int b_costs[2][2][2]; // <-- Zeile 3 b_costs[1][1][1] = 90; // <-- Zeile 36
Dazwischen liegen nur Kommentare und dahinter nichts mehr.
komisch. der code sieht für mich ganz ok aus.
ups,
die zuweisung
b_costs[1][1][1] = 90;
geht ja gar nicht im global scope.int b_costs[2][2][2]; // <-- Zeile 3 void init_costs() { b_costs[1][1][1] = 90; }
void init_costs();//diese zeile könnte fein in einen header gehen, der einfachheit halber aber mal schnell so int main() { init_costs(); ... }
-
Ich habe nun mal alle Kommentare entfernt und nun sieht meine building_costs.cpp folgendermaßen komplett aus (Zeile 1-5):
#include "stdafx.h" int b_costs[2][2][2]; b_costs[1][1][1] = 90;
Die Fehlermeldung ist folgende:
Kompilieren...
building_costs.cpp
.\building_costs.cpp(5) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
.\building_costs.cpp(5) : error C2369: 'b_costs': Neudefinition; unterschiedliche Feldindizes
.\building_costs.cpp(3): Siehe Deklaration von 'b_costs'
.\building_costs.cpp(5) : error C2440: 'Initialisierung': 'int' kann nicht in 'int [1][1][1]' konvertiert werden
Es gibt keine Konvertierungen von Arraytypen, obwohl es Konvertierungen von Verweisen oder Zeigern in Arrays gibt
-
Antispy schrieb:
Ich habe nun mal alle Kommentare entfernt und nun sieht meine building_costs.cpp folgendermaßen komplett aus (Zeile 1-5):
Schau dir nochmal volkard's letzten Post an.
-
ohh.. hatte gar nicht gesehen, dass das editiert wurde.
Das scheint aber soweit zu klappen
Jetzt versuche ich bei einem Onklick eines Buttons den Wert eines Labels zu ändern:
Label1->Text=b_costs[1][1][1];
hier bekomm ich jetzt aber leider folgende Fehldermeldung:
error C2065: 'b_costs': nichtdeklarierter Bezeichner
-
Was mich komisch dünkt, ist dass der Borland Builder das durchgehen lässt...
-
Antispy schrieb:
ohh.. hatte gar nicht gesehen, dass das editiert wurde.
Das scheint aber soweit zu klappen
Jetzt versuche ich bei einem Onklick eines Buttons den Wert eines Labels zu ändern:
Label1->Text=b_costs[1][1][1];
hier bekomm ich jetzt aber leider folgende Fehldermeldung:
error C2065: 'b_costs': nichtdeklarierter Bezeichner
int main(array<System::String ^> ^args) { extern int b_costs[2][2][2];
hatte ich nicht so gedacht, sondern eher
extern int b_costs[2][2][2]; int main(array<System::String ^> ^args) {
ich vermute, dein
Label1->Text=b_costs[1][1][1];
ist nicht in der main()kannst auch
extern int b_costs[2][2][2];
in jede funktion klatschen, wo es gebraucht wird. also als erste zeile in die OnClick()
-
Der Code für den Button befindet sich in der Form1.h
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { b_main_wood->Text=b_costs[1][1][1]; }
b_main_wood ist dabei der Name des Labels.
-
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { extern int b_costs[2][2][2]; b_main_wood->Text=b_costs[1][1][1]; }
dürfte klappen.
-
kannst auch
extern int b_costs[2][2][2];
in jede funktion klatschen, wo es gebraucht wird. also als erste zeile in die OnClick()Da erscheint dann diese Meldung:
Form1.h(2571) : error C2664: 'void System::Windows::Forms::Control::Text::set(System::String ^)': Konvertierung des Parameters 1 von 'int' in 'System::String ^' nicht möglich
Es ist kein benutzerdefinierter Konvertierungsoperator verfügbar, oder
Es ist keine Standardkonvertierung von der mittels Boxing geschachtelten Form des arithmetischen Typs in den Zieltyp vorhanden.
-
ich kenne die richtigen funktionen nicht, aber
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { extern int b_costs[2][2][2]; System::String^ str; str += b_costs[1][1][1]; b_main_wood->Text=str; }
geht, wenn ich http://heifner.blogspot.com/2007/02/int-to-string-under-managed-c.html recht verstehe.
vielleicht istprivate: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { extern int b_costs[2][2][2]; b_main_wood->Text=System.Convert.ToString(b_costs[1][1][1]); }
netter.
-
Das ist genial!!
Das funktioniert super!!Vielen Dank für die nette und super schnelle Hilfe so spät abends
Wünsche noch einen schönen Abend und guten Rutsch ins neue Jahr