我是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