2016-04-11 17 views
0

Guten Abend Leute, ich bin völlig neu in C++ und ich hatte einige Probleme damit.Listen in C++, Überladungsmethoden?

Nun, ich versuche, eine Liste zu erstellen, nach vielen Undos und Korrekturen habe ich diesen Fehler gefunden, den ich nicht lösen kann.

#define MAXLIST 100 
template <typename T> 

class List { 
private: 
int maxList; 
int last = 0; 
T* List; 
public: 
List(); 
explicit List(int tam); 
bool listIsFull(); 
void destroyList(); 

List<T>() { 
last = -1; 
maxList = MAXLIST; 
list = new T[maxList]; 
} 

List<T>(int tam) { 
last = -1; 
maxList = tam; 
list = new T[maxList]; 
} 


void destroyList() { 
last = -1; 
} 

bool listIsFull() { 
if(last == MAXLIST -1) 
    return true; 
else 
    return false; 
    } 
} 

Beide Methoden destroyList() und listIsFull(), wie ein Fehler in meiner IDE zeigen: ‚nicht überlastet werden kann‘ Und beide Konstrukteure zeigen einen Fehler wie: ‚Hat eine Art nicht nennen‘

Was ist das, dass ich falsch mache? Vielen Dank im Voraus.

+2

Dies scheint nicht der echte Code zu sein. Schreibe ein reelles (dh es kompiliert außer dem notierten Fehler) aber minimales Beispiel. Bitte –

+0

Tipp: Sie können das kostenlose Tool wie ** AStyle ** verwenden, um den Code vor dem Posten zu formatieren. Viele Programmierer Editoren bieten auch automatische Formatierung. –

Antwort

0

Die Art, wie Ihr Code mir erschien, Sie versuchten, Ihre Klasse zu prototypieren und dann Implementierung darunter zu stellen, fügte ich einfach korrekte Scope- und Template-Operatoren hinzu.

#define MAXLIST 100 

template <typename T> 
class List { 
private: 
    int maxList; 
    int last = 0; 
    T* List; 
public: 
    List(); 
    explicit List(int tam); 
    bool listIsFull(); 
    void destroyList(); 
}; 

template<typename T> 
List<T>::List<T>() { 
    last = -1; 
    maxList = MAXLIST; 
    list = new T[maxList]; 
} 

template<typename T> 
List<T>::List<T>(int tam) { 
    last = -1; 
    maxList = tam; 
    list = new T[maxList]; 
} 

template<typename T> 
void List<T>::destroyList() { 
    last = -1; 
} 

template<typename T> 
bool List<T>::listIsFull() { 
    if (last == MAXLIST - 1) 
     return true; 
    else 
     return false; 
}