The only time I've seen that error is when the compiler can't find the identifier in the namespace. Like with… typedef map<int,int> foo; instead of… typedef std::map<int,int> foo; or… using namespace std; typedef map<int,int> foo;
I used to get this when c/p small test snippets into rom. I used 'T' as a place holder for template types but rom had T defined as a macro for bits. Maybe you have a map macro?
At the top of zone.h
Further down in zone.h (line 95):
(CBaseEntity is a class; if I change it to something standard like an int it'll still get the same error)
Compiling gives the error:
Now, I'm using a std::list in the file too and that doesn't have any errors.
Any thoughts? Including <map> should make it work just fine, but the include has always been in there.