Hallo,
ich habe zwei Klassen, in denen ich Objekte wie ListBoxen usw. verwenden
will. Dazu muss ich wohl eine Referenzklasse verwenden.
Bisher ging alles gut und ich verwendete diese Klasse dann in meiner
"Form1.h".
Jetzt wollte ich zur besseren Codestrukturierung eine zweite Klasse
erstellen, die dann für alle Forms-Objekte eines bestimmten Tabs
Referenzobjekte (wenn man das so nennt, also ListBox-Objekte, die dann
mit dem Konstruktor initialisiert werden und über die ich dann die
Forms-Objekte ansprechen kann).
Sobald ich aber ein objekt der zweiten Referenzklasse in der
ursprünglichen als privates Member deklariere, streikt der Compiler als
würde er meine zweite Referenzklasse nicht kennen. (Ja die ".h" ist
eingebunden).
Folgende Fehlermeldung erscheint, wenn "TaskDetails^ taskDetails;" int
"ZentralKlasse" deklariert wird:
error C2143: Syntaxfehler: Es fehlt ';' vor '^'
error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis:
"default-int" wird von C++ nicht unterstützt.
error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis:
"default-int" wird von C++ nicht unterstützt.
1 | ref class TaskDetails
|
2 | {
|
3 | TextBox^ aufgabenDetailsVorgangsName;
|
4 |
|
5 | Label^ lbAufgabenDetailsNextTasks;
|
6 |
|
7 | ComboBox^ cbAufgabenDetailsStatus;
|
8 | ComboBox^ cbAufgabenDetailsAufgKateg;
|
9 |
|
10 |
|
11 | TextBox^ tbMarkReason;
|
12 |
|
13 | public:
|
14 | void fktXYZ();
|
15 | };
|
1 | ref class ZentralKlasse
|
2 | {
|
3 | /* TASKDETAILS */
|
4 | TaskDetails^ taskDetails;
|
5 |
|
6 | Task* rootTask;
|
7 | int taskCounter;
|
8 | int prioCounter;
|
9 |
|
10 | /* AUFGABENBAUM */
|
11 | ListBox^ lbNowDowName;
|
12 | ListBox^ lbVorgänge;
|
13 | ListBox^ lbKommentar;
|
14 | ListBox^ lbNextTask;
|
15 | ListBox^ lbPriorität;
|
16 | public:
|
17 | void fkt();
|
18 | };
|
Hier zeigt der Compiler keinen Fehler:
1 | Form1(void)
|
2 | {
|
3 | InitializeComponent();
|
4 | //
|
5 | //TODO: Konstruktorcode hier hinzufügen.
|
6 | //
|
7 |
|
8 | taskDetails = gcnew TaskDetails();
|
9 |
|
10 | zentralKlasse = gcnew ZentralKlasse();
|
11 | }
|
Habt ihr ne Idee was ich falsch mache?
Danke für eure Antworten