Problem mit Wertzuweisung an zweidim. Array
-
Hallo,
ich will eine zweidim. Matrix mit verschiedenen Werten füllen. Wenn ich folgenden Konstruktor aufrufe, bekomme ich aber mehrere Syntaxfehler.
struct Matrix { int matrix[5][5]; }; class T { Matrix Feld; ...} T::T(void) { Feld = {{5,1,2,3,4},{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3}}; }Hab ich einfach 'n Knoten im Hirn oder muß ich wirklich _jedes_ Feld einzeln (also mit matrix[2][2]=4 usw.) initialisieren???
Danke & Gruss,
Sid73
-
Du kannst Arrays nicht zuweisen oder in einer Konstruktorinitialisierungsliste initialisieren. Allerdings befindet sich dein Array in einem struct, und dieses unterliegt diesen Beschränkungen nicht. Folgendes wäre also möglich:
struct Matrix { int matrix[5][5]; }; class T { Matrix Feld; ...} T::T(void) { static const Matrix proto = {{5,1,2,3,4},{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3}}; Feld = proto; }