473,396 Members | 2,106 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

C2143, hash_map

"Hello World\n",

i get error C2143 (Syntaxerror, missing ';' before '<') using the
following code:

#include <hash_map>

struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};

typedef hash_map<const char*, int, hash<const char*>, eqstr> months;

hope anyone can help me!

Tnx,
Florian
Jul 19 '05 #1
11 9944
"Florian Liefers" <re*****@web.de> wrote...
"Hello World\n",

i get error C2143 (Syntaxerror, missing ';' before '<') using the
following code:

#include <hash_map>

struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};

typedef hash_map<const char*, int, hash<const char*>, eqstr> months;


What's "hash_map"? Are you sure it's the name of the template?
Are you sure it's not in some kind of namespace that you forgot
to mention?

The questions and doubts expressed by me here are due to the fact
that there is no standard header <hash_map>, so you cannot assume
that anybody here knows what you're talking about.

Victor
Jul 19 '05 #2
"Hello World\n",
What's "hash_map"? Are you sure it's the name of the template?
Are you sure it's not in some kind of namespace that you forgot
to mention?

The questions and doubts expressed by me here are due to the fact
that there is no standard header <hash_map>, so you cannot assume
that anybody here knows what you're talking about.


I found hash_map here:
http://www.sgi.com/tech/stl/hash_map.html
I can open the header file hash_map and in VC.NET there is a help site by
pressing F1.

If there is another hash-map class please tell me! That would be very
nice!!!

Tnx,
Florian
Jul 19 '05 #3
"Florian Liefers" <re*****@web.de> wrote...
"Hello World\n",
What's "hash_map"? Are you sure it's the name of the template?
Are you sure it's not in some kind of namespace that you forgot
to mention?

The questions and doubts expressed by me here are due to the fact
that there is no standard header <hash_map>, so you cannot assume
that anybody here knows what you're talking about.
I found hash_map here:
http://www.sgi.com/tech/stl/hash_map.html
I can open the header file hash_map and in VC.NET there is a help site by
pressing F1.


That's all nice, but it has nothing to do with Standard C++. If you
read carefully, you can see that on SGI's web page it says that the
hash_map is an extension, not part of the standard C++. Whatever VC++
tells you is also beyond the scope of this newsgroup. Could it be
that the two hash_map implementations get confused by your VC++ compiler?
If there is another hash-map class please tell me! That would be very
nice!!!


There probably is. But why don't you use 'std::map' instead? It
works fine for what you need (probably), and it would be topical
here.

Victor
Jul 19 '05 #4
"Florian Liefers" <re*****@web.de> wrote in message
news:op**************@news.btx.dtag.de...
"Hello World\n",

i get error C2143 (Syntaxerror, missing ';' before '<') using the
following code:

#include <hash_map>

struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};

typedef hash_map<const char*, int, hash<const char*>, eqstr> months;

^^^^
what is hash defined as?

Ali R.

Jul 19 '05 #5
"Hello World\n",
typedef hash_map<const char*, int, hash<const char*>, eqstr> months;

^^^^
what is hash defined as?

Hm, good question. But in the doc params >2 are optional.
I also tried it just with 2 params (without hash<const char*>, eqstr), but
the same error occurs :-(.

I found hashmap @ http://www.sgi.com/tech/stl/hash_map.html

Florian
Jul 19 '05 #6
> That's all nice, but it has nothing to do with Standard C++. If you
read carefully, you can see that on SGI's web page it says that the
hash_map is an extension, not part of the standard C++. Whatever VC++
tells you is also beyond the scope of this newsgroup. Could it be
that the two hash_map implementations get confused by your VC++ compiler? Ok, sorry for OT, i didn't know.
There probably is. But why don't you use 'std::map' instead? It
works fine for what you need (probably), and it would be topical
here.

Yes, that's exactly what i'm searching for. The problem is, that now i get
the same error with map :-(

#include <map>
typedef map<int, char *> alienMap;

results in
error C2143: Syntaxfehler : Es fehlt ';' vor '<'
which means in english: missing ';' before '<'

Florian
Jul 19 '05 #7
Florian Liefers escribió:
#include <map>
typedef map<int, char *> alienMap;

results in
error C2143: Syntaxfehler : Es fehlt ';' vor '<'
which means in english: missing ';' before '<'

typedef std::map<int, char *> alienMap;

Or put "using std::map;" after the #include.

Regards.
Jul 19 '05 #8
"Florian Liefers" <re*****@web.de> wrote...
That's all nice, but it has nothing to do with Standard C++. If you
read carefully, you can see that on SGI's web page it says that the
hash_map is an extension, not part of the standard C++. Whatever VC++
tells you is also beyond the scope of this newsgroup. Could it be
that the two hash_map implementations get confused by your VC++
compiler? Ok, sorry for OT, i didn't know.
There probably is. But why don't you use 'std::map' instead? It
works fine for what you need (probably), and it would be topical
here.

Yes, that's exactly what i'm searching for. The problem is, that now i get
the same error with map :-(

#include <map>
typedef map<int, char *> alienMap;

results in
error C2143: Syntaxfehler : Es fehlt ';' vor '<'
which means in english: missing ';' before '<'


In the header <map> the template 'map' is declared in 'std' namespace.
You HAVE TO tell your compiler that you're going to be using the 'map'
from 'std':

typedef std::map<int,char*> alienMap;

Victor
Jul 19 '05 #9
>> #include <map>
typedef map<int, char *> alienMap;

results in
error C2143: Syntaxfehler : Es fehlt ';' vor '<'
which means in english: missing ';' before '<'


In the header <map> the template 'map' is declared in 'std' namespace.
You HAVE TO tell your compiler that you're going to be using the 'map'
from 'std':

typedef std::map<int,char*> alienMap;


Oh no, just like a beginner... (me)

That's it...Thanks alot!!!!!!!!!!!!

Florian
Jul 19 '05 #10
#include <map>
typedef map<int, char *> alienMap;
error C2143: Syntaxfehler : Es fehlt ';' vor '<'

typedef std::map<int, char *> alienMap;
Or put "using std::map;" after the #include.


That's it, thank you!!!

Florian
Jul 19 '05 #11
Florian Liefers <re*****@web.de> wrote in message news:<op**************@news.btx.dtag.de>...
"Hello World\n",

i get error C2143 (Syntaxerror, missing ';' before '<') using the
following code:

#include <hash_map>

struct eqstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) == 0;
}
};

typedef hash_map<const char*, int, hash<const char*>, eqstr> months; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^6
I suspect the problem is with hash<const char*>
probably your compiler doesn't know who is 'hash' which is right
before the '<' sign.
hope anyone can help me!

Tnx,
Florian


HTH
/dan
Jul 19 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: Jon Cosby | last post by:
I need help in hashmaps. Why doesn't this work: #include <hash_map> hash_map <int, string> hm1; typedef pair <int, string> pr; hm1.insert(str_pair(1, "Hello")); It compiles, but crashes at...
3
by: Mark | last post by:
Hi, I'm trying to use hash_map (gcc 3.2.2) with a std::string as the key. It will compile if I use <map> but I get a bunch of template compile errors when I change it to hash_map. Any...
5
by: peter_k | last post by:
Hi I've defined hash_map in my code using this: ------------------------------------------- #include <string> #include <hash_map.h> & namespace __gnu_cxx {
3
by: kony | last post by:
Hi there, I would much appreciate your help with the following problem. Below is the code that uses a hash_map. I want to release all the memory occupied by the hash_map for other use. Apparently...
1
by: jayesah | last post by:
Hi All, I am developing my code with Apache stdcxx. I am bound to use STL of Apache only. Now today I need hash_map in code but as I learned, it is not available in Apache since it is not...
2
by: Amit Bhatia | last post by:
Hi, I am trying to use hash maps from STL on gcc 3.3 as follows: #ifndef NODE_H #define NODE_H #include <ext/hash_map> #include "node_hasher.h" class Node; typedef hash_map<pair<int,int>,...
4
by: James Kanze | last post by:
On Jul 16, 10:53 pm, Mirco Wahab <wa...@chemie.uni-halle.dewrote: It depends. You might like to have a look at my "Hashing.hh" header (in the code at kanze.james.neuf.fr/code-en.html---the...
5
by: frankw | last post by:
Hi, I have a hash_map with string as key and an object pointer as value. the object is like class{ public: float a; float b; ...
2
by: marek.vondrak | last post by:
Hi, I am wondering if there are any functional differences between SGI's hash_map and tr1's unordered_map. Can these two containers be interchanged? What would it take to switch from hash_map to...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.