-
August 26th, 2009, 07:25 AM
#1
map using a template value
I've written the following code, i want to use my own hash map and overwrite the find function suitably. my map values are of type packet_entry_t.
#ifndef SIM_A_CX_SW_PACKET_STORAGE_H
#define SIM_A_CX_SW_PACKET_STORAGE_H
#include <map>
#ifdef LOG_PACKET_TIMES
#include <iostream>
#include <fstream>
#include <cstring>
#endif // LOG_PACKET_TIMES
template <class TTileAddress_t>
class packet_storage {
private:
typedef packet_entry_t<TTileAddress_t> pkt_entry_t;
typedef std::map<unsigned int, pkt_entry_t>::iterator iterator_t;
map<unsigned int, pkt_entry_t> pkts_map;
public:
packet_storage();
~packet_storage();
// problem 1
typename std::map<unsigned int, pkt_entry_t>::iterator it;
//problem 2
std::map<unsigned int, pkt_entry_t>::iterator find(unsigned int a , unsigned int b);
std::map<unsigned int, pkt_entry_t>::iterator find(unsigned int );
}; // end class packet_storage
#endif //end packet_storage_h
i receive errors in line //problem 1 and //problem 2 as follow.
//problem 1 erro:::
type ‘std::map<unsigned int, packet_entry_t<TTileAddress_t>, std::less<unsigned int>, std::allocator<std:air<const unsigned int, packet_entry_t<TTileAddress_t> > > >’ is not derived from type ‘packet_storage<TTileAddress_t>’
//problem 2 error:::
error: type ‘std::map<unsigned int, packet_entry_t<TTileAddress_t>, std::less<unsigned int>, std::allocator<std:air<const unsigned int, packet_entry_t<TTileAddress_t> > > >’ is not derived from type ‘packet_storage<TTileAddress_t>’
CAN ANY BODY TELL ME WHY? AND HOW CAN I SOLVE THE PROBLEM
I SOULD BE GRATEFUL.
THANKS
ATEFE
-
August 26th, 2009, 09:18 AM
#2
Re: map using a template value
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|