Fei Liu wrote:
> Neil wrote:
>> struct __alloca
>> {
>> unsigned int nsize;
>> int nline;
>> char szFile[250];
>> char **messages;
>> int trace_size ;
>> #ifdef OS_WINDOWS
>> unsigned long m_size;
>> _CRT_ALLOC_HOOK m_poldhook;
>> HMODULE m_dbghelp;
>> HANDLE m_process;
>> HANDLE m_thread; // Pseudo-handle meaning "current
>> thread" - required for obtaining stack traces
>> DWORD m_tlsindex; // Index for thread-local storage
>> of VLD data
>> STACKFRAME64 m_frame;
>> #endif
>> };
>> typedef map<void*,__alloca> MEMALLOCMAP;
>> typedef MEMALLOCMAP::iterator ITEM;
>> I get the error
>> error C2143: syntax error : missing ';' before '<'
>> error C2143: syntax error : missing ';' before '<'
>> error C2653: 'MEMALLOCMAP' : is not a class or namespace name
>> Please help me out fast
>> TAI
>> ~Neil
> MEMALLOCMAP is not a class or namespace name, clear enough. It's a
> variable name. The correct typedef syntax is:
> typedef typename std::map<void *, __alloca>::iterator ITEM;
it's not a class because of the previous errors.