我是Boost库的bimap功能的新手,我很难将bimap传递到另一个函数中。我的bimap看起来是这样的:在函数之间传递boost :: bimap
typedef boost::bimap< int, int > bimap_type;
bimap_type bm;
我有一个ADD_VALUES()函数,增加了一组值到bimap的:
add_values(int a, int b)
{
bm.insert(bimap_type::value_type(a, b));
}
我再有一个,就是设置的值的函数介绍bimap由一个单独的类让他们:
void set_values()
{
MyClass::instance()->get_values(bm);
}
而且,MyClass中,get_values()看起来是这样的:
void get_values(bimap_type myBimap)
{
myBimap.add_values(3, 5);
}
但是,MyClass无法识别'bimap_type'。我尝试把类型定义在一个单独的头文件,包括在MyClass的,但我得到的错误信息:
'class bimap_type' has no member named 'add_values'
我怎样才能顺利通过bimap的这个Singleton类,以便从值来填充它类?有人知道吗?
非常感谢。
对不起,我应该已经更清楚了 - add_values()是我自己的函数。为了争论,它可以用通常的insert()函数替换。我的问题仍然存在,但是 - 你知道我是如何将bimap传递给Singleton类中的函数的吗? – user1295558 2012-04-08 21:03:52
谢谢timday和尤金 - 我现在已经把它分类,使用你们给出的建议。我现在通过引用传递bimap,并且我放弃了我的add_values()函数,因为它只不过是boost :: bimap的insert()函数。欢呼你的帮助。 – user1295558 2012-04-08 21:27:41