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_

#include
#include
#include

using namespace std;

template
class Functor
{
public:

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;

}
#endif

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

Try

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

g_ClassFuncPointerTDMapIt it1;

parashift.com/c+±faq-lite/t … #faq-35.18