map with template class

I am using map to store the class pointer and function pointers, The same code complies very fine with Visual Studio 2005 but not in Momentics(Qnx 6.4.0)

Following code gives error for iterator.

Code Line: g_ClassFuncPointerTDMap::iterator it1;

Error : “type ‘std::map<TClass*, void (TClass::)(unsigned int, unsigned int), std::less<TClass>, std::allocator<std::pair<TClass* const, void (TClass::*)(unsigned int, unsigned int)> > >’ is not derived from type ‘Functor’ aaa Functor.h”

Could you please let me know the solution.

#ifndef FUNCTOR_H_
#define FUNCTOR_H_


using namespace std;

class Functor

typedef void (TClass::*m_pFunctionPointer)(unsigned int,unsigned int);
typedef map<TClass*, m_pFunctionPointer> g_ClassFuncPointerTDMap;
typedef map<int, g_ClassFuncPointerTDMap > g_SignalClassFPTDMap;

static g_ClassFuncPointerTDMap g_ClassFuncPointerMap;
static g_SignalClassFPTDMap g_SignalClassFPMap;

g_ClassFuncPointerTDMap::iterator it1;


Sorry but VC is NOT a reference… This is not related to QNX but rather to GCC.


typedef typename map<TClass*, m_pFunctionPointer>::iterator g_ClassFuncPointerTDMapIt;

g_ClassFuncPointerTDMapIt it1;±faq-lite/t … #faq-35.18