Boostライブラリのbimap機能を初めて使用し、bimapを別の関数に渡すのに問題があります。私のバイマップは次のようになります。
typedef boost::bimap< int, int > bimap_type;
bimap_type bm;
バイマップに値のセットを追加するadd_values()関数があります。
add_values(int a, int b)
{
bm.insert(bimap_type::value_type(a, b));
}
次に、シングルトンクラスからバイマップの値を取得することでバイマップの値を設定する関数があります。
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」を認識しません。typedefを別のヘッダーファイルに入れてMyClassにインクルードしようとしましたが、エラーメッセージが表示されます。
'class bimap_type' has no member named 'add_values'
クラスからの値で埋めるために、このシングルトンクラスにバイマップを正常に渡すにはどうすればよいですか?誰か知っている?
どうもありがとう。