|
Hi Alexandru,
I get an error in my code when I try to use the multimap, the error is "Cannot open include file: 'multimap' C++" can you help me?
here's my code:
#include <string>
#include <iostream>
#include <multimap>
using namespace std;
struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
int main()
{
multimap<const char*,="" int,="" ltstr=""> m;
m.insert(pair<const char*="" const,="" int="">("a", 1));
m.insert(pair<const char*="" const,="" int="">("c", 2));
m.insert(pair<const char*="" const,="" int="">("b", 3));
m.insert(pair<const char*="" const,="" int="">("b", 4));
m.insert(pair<const char*="" const,="" int="">("a", 5));
m.insert(pair<const char*="" const,="" int="">("b", 6));
cout << "Number of elements with key a: " << m.count("a") << endl;
cout << "Number of elements with key b: " << m.count("b") << endl;
cout << "Number of elements with key c: " << m.count("c") << endl;
cout << "Elements in m: " << endl;
for (multimap<const char*,="" int,="" ltstr="">::iterator it = m.begin();
it != m.end();
++it)
cout << " [" << (*it).first << ", " << (*it).second << "]" << endl;
}
Thanks/Regards
Sidney
|
|
|
|
|
Hello sidney
The < and > tags were stripped by the html parser. Please send the code between <pre> and </pre> so I can see what you include and what include not. However this code sould work
#include <multimap>
using namespace std;
....
Best regards,
Alexandru Savescu
|
|
|
|
|
Here's the code:
#include <string>
#include <iostream>
#include <multimap>
using namespace std;
struct ltstr
{
bool operator()(const char* s1, const char* s2) const
{
return strcmp(s1, s2) < 0;
}
};
int main()
{
multimap<const char*, int, ltstr> m;
m.insert(pair<const char* const, int>("a", 1));
m.insert(pair<const char* const, int>("c", 2));
m.insert(pair<const char* const, int>("b", 3));
m.insert(pair<const char* const, int>("b", 4));
m.insert(pair<const char* const, int>("a", 5));
m.insert(pair<const char* const, int>("b", 6));
cout << "Number of elements with key a: " << m.count("a") << endl;
cout << "Number of elements with key b: " << m.count("b") << endl;
cout << "Number of elements with key c: " << m.count("c") << endl;
cout << "Elements in m: " << endl;
for (multimap<const char*, int, ltstr>::iterator it = m.begin();
it != m.end();
++it)
cout << " [" << (*it).first << ", " << (*it).second << "]" << endl;
}
Thanks/Regards
Sidney
|
|
|
|
|
Well, the multimap header does not exists. Include <map> and it will work;
#include <map>
using namespace std;
etc.
Best regards,
Alexandru Savescu
|
|
|
|
|
And also, I just want to make it clear... if I have same name in my name field I can use the STD::MAP? if so how can I use the multimap? and is Hash_map fast too? can I also have more info about it?
Thanks/Regards
Sidney
|
|
|
|
|
Hi everyone,
i tried to use the multimap(STL) but I got an error "fatal error: Cannot open include file: 'multimap' C++" I alread installed the all the files that I got from sgi... STL Version 3.3, I installed it in "C:\Program Files\Microsoft Visual Studio\VC98\Include"
What could be the problem?
Thanks/Regards
Sidney
|
|
|
|
|
I think you need not replace the STL that comes with Visual C with the SGI implementation.
Best regards,
Alexandru Savescu
|
|
|
|
|
Again with some newbie question.
I have started a C# windows application and it look really nice with all those new controls and the WinForms stuff (looks much more to Delphi than VB 6 though ). I was wondering how I can use WinForms in MC++? I mean draging and dropping WinForms components on the managed form and stuff like that.
Thanks
Best regards,
Alexandru Savescu
|
|
|
|
|
You can't
MC++ lacks the CodeDOM support which is required for a visual designer to write the neccesary code.
James
Simplicity Rules!
|
|
|
|
|
Check this out. If you have VB6 you can use the designer. I have not yet tried it.
http://www.gotdotnet.com/userfiles/toml/VBWinForms.zip
|
|
|
|
|
http://www.codeproject.com/useritems/mcppwinforms01.asp
http://www.codeproject.com/managedcpp/mcppwinforms02.asp
http://www.codeproject.com/useritems/mcppoutlookgui.asp
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Thanks Nish, but as you said in the first article, there is now GUI support in Manage C++
Best regards,
Alexandru Savescu
|
|
|
|
|
Alexpro wrote:
Thanks Nish, but as you said in the first article, there is now GUI support in Manage C++
Yeah, that's really sad!!!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Hi!
I just my first semi-project in .NET that combines both MFC and MC++ and it works fine! However, when I needed to use any .NET classes I had to declare them as pointers and pass pointers to methods etc., like this
SqlConnection* s = new SqlConnection();
f (s);
Is this the only way it works? Apparently yes, and I feel sad, I've been using C++ for a while and got used to using references and not pointers....
Best regards,
Alexandru Savescu
|
|
|
|
|
You'll have to create all reference types on the heap. Thus you cannot have a String but only a String*.
On the other hand you can have value types on the stack.
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Thanks Nish, but could you please provide me with some examples with those differences?
Thanks.
Best regards,
Alexandru Savescu
|
|
|
|
|
Alexpro wrote:
Thanks Nish, but could you please provide me with some examples with those differences?
String *s = new String("hey there");
Point p = Point(10,19);
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Thanks! I better lookup in the documentation to see the difference between refernce types and value types!
Best regards,
Alexandru Savescu
|
|
|
|
|
Alexpro wrote:
Thanks! I better lookup in the documentation to see the difference between refernce types and value types!
Have fun
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I am deriving a class from ComboBox. I override OnKeyPress. But OnKeyPress never gets called! Anyone knows whether there is anything special I need to be doing?
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Well
It's not an MC++ issue here. The same thing happens when I use C#
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Ensure that IsInputKey/Char returns true for that key; if it returns false you won't get the OnKey* events.
James
Simplicity Rules!
|
|
|
|
|
James T. Johnson wrote:
Ensure that IsInputKey/Char returns true for that key; if it returns false you won't get the OnKey* events.
You mean in addition to overriding OnKeyPress I also need to override IsInputKey ???
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
I did this :-
protected override bool IsInputKey(System.Windows.Forms.Keys keyData)
{
base.IsInputKey(keyData);
return true;
}
But still OnKeyPress never gets called!
Nish
Regards,
Nish
Native CPian.
Born and brought up on CP.
With the CP blood in him.
|
|
|
|
|
Use Anakrino. When you have anakrino you don't need to ask any quetions anywhere.
|
|
|
|