- error: expected unqualified-id before '<' token (Template compilation issue)
- typedef <typename ListType>
- #if !defined _LIST_HPP_
- #define _LIST_HPP_
- #include "Node.hpp"
- ///since we're creating a template everything must be defined in the hpp
- typedef <typename ListType>
- class List
- {
- public:
- List();
- bool Empty();
- void PushFront();
- void PushBack();
- void PopBack();
- Node<ListType>& GetHead();
- private:
- int _size;
- Node<ListType>* _head;
- Node<ListType>* _tail;
- };
- ///implement List class here
- typedef <typename ListType>
- List<ListType>::List() : _head(0), _tail(0), _size(0)
- {
- }
- typedef <typename ListType>
- bool <ListType>Empty()
- {
- return !_size; //returns true if size = 0
- }
- typedef <typename ListType>
- void List<ListType>::PushFront()
- {
- _head = new Node<ListType>( _head , 0 );
- if (!Empty())
- _head->_prev->_next = _head; //set previous nodes _next to new _head
- ++_size;
- }
- typedef <typename ListType>
- void List<ListType>::PushBack()
- {
- _tail = new Node<ListType>( 0 , _tail);
- if (!Empty())
- _tail->_next->_prev = _tail; // set old tails _prev to new tail
- ++_size;
- }
- typedef <typename ListType>
- void List<ListType>::PopBack()
- {
- }
- typedef <typename ListType>
- Node<ListType>& List<ListType>::GetHead()
- {
- return _head;
- }
- #endif //define
- #if !defined _NODE_HPP_
- #define _NODE_HPP_
- //#include "Sprite.hpp"
- template<typename NodeType>
- class Node{
- public:
- Node( Node* prev = 0, Node* next = 0);
- void SetData(NodeType newData);
- void GetData();
- private:
- friend class List;
- NodeType _data;
- Node* _next;
- Node* _prev;
- };
- ///implement Node
- template <typename NodeType>
- Node<NodeType>::Node(Node* prev, Node* next) : _prev(prev), _next(next)
- {}
- template <typename NodeType>
- void Node<NodeType>::SetData(NodeType newData)
- {
- _data = newData;
- }
- template <typename NodeType>
- void Node<NodeType>::GetData()
- {
- return _data;
- }
- #endif //define
- typedef <typename ListType>
- bool <ListType>Empty()
- {
- return !_size; //returns true if size = 0
- }
- template <typename ListType>
- bool List<ListType>::Empty()
- {
- return _size != 0;
- }