J'ai donc eu un problème lorsque j'ai essayé de compiler. L'erreur semble être dans mon fichier d'en-tête.Initialisateur attendu avant le jeton <<'Dans la liste chaînée Fichier d'en-tête de pile
#ifndef GENERIC_LINKED_LIST_STACK_H_
#define GENERIC_LINKED_LIST_STACK_H_
#include "Node.h"
#include <string>
#include <iostream>
template <class Type>
class genericLinkedListStack
{
public:
genericLinkedListStack();
int size() const;
void push(Type element);
Type pop();
bool empty() const;
int top();
private:
node <Type> *first;
};
template <class Type>
int stack<Type>::size() const
{
node<Type> *newNode;
newNode = new node<Type>;
int count = 0;
while (newNode!= NULL)
{
count++;
newNode = newNode->next;
}
return count;
}
template <class Type>
void stack<Type>::push(Type element)
{
node<Type> *newNode;
newNode = new node<Type>;
newNode -> data = element;
newNode -> next = first;
first = newNode;
}
template <class Type>
Type stack<Type>::pop()
{
node<Type> *current = first;
Type element = current -> data;
delete current;
return element;
}
template <class Type>
bool stack<Type>::empty() const
{
return first == NULL;
}
template <class Type>
void stack<Type>::genericLinkedListStack()
{
first = NULL;
}
template <class Type>
void stack<Type>::top()
{
return front->data;
}
#endif // GENERIC_LINKED_LIST_STACK_H_
Chaque fois que je compile mes fichiers (y compris le fichier d'en-tête), je reçois cette erreur:
expected initializer before ‘<’ token
Et je reçois cette erreur sur les lignes suivantes: 23, 37, 47, 56, 62, 68. J'ai passé en revue d'innombrables questions en ligne cherchant une solution à ma réponse mais il semble que ce problème consiste en un problème plus spécifique, il n'existe pas vraiment de solution universelle.
Nous vous remercions de votre aide!
EDIT 1: Le fichier Node.h
#ifndef NODE_H_
#define NODE_H_
#include <iostream>
#include <string>
using namespace std;
template <class Type>
struct node
{
Type data;
node *next;
};
#endif //NODE_H_
Toutes les erreurs que je reçois (dans le fichier d'en-tête)
genericLinkedListStack.h:23:10: error: expected initializer before ‘<’ token
int stack<Type>::size() const
^
genericLinkedListStack.h:37:11: error: expected initializer before ‘<’ token
void stack<Type>::push(Type element)
^
genericLinkedListStack.h:47:11: error: expected initializer before ‘<’ token
Type stack<Type>::pop()
^
genericLinkedListStack.h:56:11: error: expected initializer before ‘<’ token
bool stack<Type>::empty() const
^
genericLinkedListStack.h:62:11: error: expected initializer before ‘<’ token
void stack<Type>::genericLinkedListStack()
^
genericLinkedListStack.h:68:11: error: expected initializer before ‘<’ token
void stack<Type>::top()
^
Est-ce la première ou la seule erreur que vous obtenez? Qu'est-ce que 'pile'? Pouvez-vous réduire cela à un [mcve] qui inclut la définition de 'node'? – aschepler
Travaillera dessus dès que possible –