============== Beispiellösung ============== :import: session04/matrix.hpp :import: session04/test-matrix.cpp ---- SHELL (path=session04) ------------------------ g++ -Wall -o test-matrix test-matrix.cpp ./test-matrix --------------------------------------------------- Gibt es auch Datentypen, mit denen es nicht klappt? An der folgenden Stelle setzt der _new_-Operator voraus, dass es einen parameterlosen Konstruktor für _T_ gibt, da wir keine Parameter spezifizieren: ---- CODE (type=cpp) ---------------------------------------------------------- Matrix(std::size_t m, std::size_t n, StorageOrder order) : /* ... */ data(new T[m*n]) { } ------------------------------------------------------------------------------- Hier ist ein minimalistisches Beispiel mit der Klasse _Double_, die keinen parameterlosen Konstruktor zur Verfügung stellt: :import: session04/bad-matrix.cpp ---- SHELL (path=session04) ------------------------ g++ -Wall -o bad-matrix bad-matrix.cpp --------------------------------------------------- :navigate: up -> doc:index back -> doc:session04/page01 next -> doc:session04/page03