statische Templatefunktion im Template aufrufen
-
Hallo,
wie kann ich in einer Template-Klasse eine statische Funktion aufrufen?
template <typename T> class Memory { public: static inline T* safeAllocateMemory(const u_long Size) { // was machen } static inline T** safeAllocateMemory(const u_long Width, const u_long Height) { // hierhin zeigt die Fehlermeldung T **tmpData = Memory<T>::safeAllocateMemory<T*>(Height); } }; aufruf soll so sein: int *mem = Memory<int>::safeAllocateMemory(100); int **mem = Memory<int>::safeAllocateMemory(100, 100);
allerdings liefert der 2. aufruf fehler:
Ungültige Verwendung von typedef 'T'.
Danke
-
Diese Zeile:
T **tmpData = Memory<T>::safeAllocateMemory<T*>(Height);
Sollte wohl eher so lauten:
T **tmpData = Memory<T*>::safeAllocateMemory(Height);
Die Funktion ist schliesslich kein Template, nur die Klasse
Grüssli
-
ach mensch, vielen dank manchmal hat man aber auch tomaten auf den augen.