0
我試圖將對象存儲在boost multi-index
容器中。多索引中的多個唯一鍵
這些對象都是唯一的,可以通過2個獨立的鍵(也是唯一的)進行檢索。
namepsace bm = boost::multi_index;
class MyObj {
string strid_;
int32_t numid_;
};
//! associative container searchable by ClOrdId and Sunofia Id.
typedef boost::multi_index_container< MyObj,
bm::indexed_by<
bm::ordered_unique<
bm::member<MyObj,string,&MyObj::strid_>
>,
bm::ordered_unique<
bm::member<MyObj,int32,&MyObj::numid_>
>
>
> Cntr;
Cntr cntr_;
當我試圖找到整數我用下面的代碼
int32_t to_find = 12;
Cntr::iterator it = cntr_.find(id);
但它不會編譯指數的任何元素,我得到以下錯誤
error: invalid conversion from ‘int’ to ‘const char*’
當我用字符串使用相同的代碼時,它工作正常;你知道我做錯了什麼嗎?
嗨!它工作正常!我非常感謝你! –
嗨!只是注意到你是創建庫的人!!!啊!好的東西的確如此,大量的代碼行少寫! :) –
很高興知道它是有用的:-) –