Wie stellst Du sicher, dass a und f_object.a die selbe Dimension haben? Du nimmst die Größe der ersten Dimension von f_object.a und die Größe der zweiten Dimension von a als Iterationsgrenzen für beide Arrays. Was passiert, wenn die erste Dimension von a aber kleiner ist als von f_object.a...
Wie stellst Du sicher, dass a und f_object.a die selbe Dimension
haben?
Du nimmst die Größe der ersten Dimension von f_object.a und die Größe
der zweiten Dimension von a als Iterationsgrenzen für beide Arrays. Was
passiert, wenn die erste Dimension von a aber kleiner ist als von
f_object.a...
hast natürlich recht, habe jetzt überall a als Referenz genommen.
die Grössen der Matrizen sind fest definiert, daher checke ich zur Zeit nicht ob die Grösse gleich ist.
also so funktioniert es, ich verstehe aber nicht ganz warum der 2D Array Ansatz nicht tut;
ahhh, d.h. wenn ich über push_back gehe, brauche ich keine Grösenangaben zum Array. Wenn aber Zuweisung über die einzelnen Elemente statt findet, dann muss zuerst die Initialisierung her.
Für den Lern-Effekt, wie dir der Compiler mit Templates da hilft Fehler schon zur Compile-Zeit zu vermeiden. Für Nicht-Quadratische Matrizen gibt transpose einen anderen Datentyp zurück...
Und der Matrix()-Konstruktor hat dann nix mehr zu tun.
Falls Du den cctor meinst: nein.
Ich weiß nicht, was das sein soll, aber er meint offenbar den default-Konstruktor Matrix() (wie er ja auch schreibt), der in der aktuellen Version dafür sorgt, dass die Vektoren ihren Speicher allokieren.
Und der Matrix()-Konstruktor hat dann nix mehr zu tun.
Falls Du den cctor meinst: nein.
Ich weiß nicht, was das sein soll,
die übliche Bezeichnung für copy-constructor
aber er meint offenbar den
default-Konstruktor Matrix() (wie er ja auch schreibt), der in der
aktuellen Version dafür sorgt, dass die Vektoren ihren Speicher
allokieren.