000
28.02.2006, 20:49 Uhr
~Gast100
Gast
|
Hi,
Warum wird beim Folgenden Programm ein Fehler gemeldet?
C++: |
/*---------------------------------AArray.h-----------------------------------*/ template <class AType=int, int size=1> class AArray{ private: AType F[size]; public: AType &operator[](int index); }; /*----------------------------------------------------------------------------*/
/*---------------------------------AArray.cpp---------------------------------*/ #include "AArray.h"
template <class AType, int size> AType &AArray<AType, size>::operator[](int index) {return F[index];} /*----------------------------------------------------------------------------*/
/*----------------------------------main.cpp----------------------------------*/ #include <iostream> using namespace std; #include "AArray.h"
int main () { AArray<int, 100> t; t[2]=154; cout<<t[2]<<endl;(
return 0; } /*----------------------------------------------------------------------------*/
|
Wenn ich template weglasse und z.B. int als Datentyp verwende fuktioniert es.
Schreibe ich alles in die main.cpp (mit template) auch funktioniert alles ohne Probleme.
Wo liegt der Fehler? Danke!
Das Programm ist natürlich nicht wirklich sinnvoll. Dieser Post wurde am 28.02.2006 um 21:28 Uhr von FloSoft editiert. |