kleiner compilerfehler...
-
#include <iostream> template <class T> class dyn_array { private: T *my_array; int index; int my_array_length; public: dyn_array(); //dyn_array(int length); //dyn_array(T data); //dyn_array(dyn_array &array); void free_mem(); T get_data(int); int get_index(); void push_back(T); void push_front(T); //void del(T data); //void del(int pos); }; //konstruktor template <class T> dyn_array<T>::dyn_array() { int init = 1; index = 0; my_array = new T[init]; my_array_length = init; } //öffentliche funktionen template <class T> void dyn_array<T>::free_mem() { int init = 1; index = 0; my_array_length = init; delete [] my_array; my_array = new T [init]; } template <class T> T dyn_array<T>::get_data(int pos) { return my_array[pos]; } template <class T> int dyn_array<T>::get_index() { return index; } //öfentlicher datenzugriff template <class T> void dyn_array<T>::push_back(T data) { my_array[index] = data; ++index; }bei
dyn_array<int> array(); array.get_index();bekomm ich:
Fehler: Abfrage des Elementes »get_index« in »array«, das vom Nicht-Klassentyp »dyn_array<int> ()()« ist
-
Mit
dyn_array<int> array();legst du keine Instanz von dyn_array an, sondern deklarierst eine Funktion array, die keine Parameter übernimmt und einen dyn_array<int> zurückliefert.
Nimm stattdessen einfachdyn_array<int> array;