2012-11-02 63 views
3

我是新來融合。是否可以在融合圖中嵌入融合圖?在下面的例子中,我如何編寫代碼來解析B?是否可以在融合圖內嵌入融合圖?

#include <boost/asio.hpp> 
#include <boost/fusion/container/map.hpp> 
#include <boost/unordered_map.hpp> 

struct A 
{ 
}; 

struct B 
{ 
}; 

int main() 
{ 
    boost::fusion::map< 
     boost::fusion::pair< 
      A, 
      boost::fusion::map<boost::fusion::pair<unsigned int, B>> 
     > 
    > map_; 

    B b = boost::fusion::at_key<unsigned int>((boost::fusion::at_key<A>(map_)); //compile error 
} 
+2

你應該提 「什麼」 是行不通的。 –

回答

3
從語法錯誤(額外括號)

除此之外,你只是缺少一些#include秒。這對我來說工作得很好:

#include <boost/fusion/include/at_key.hpp> 
#include <boost/fusion/include/map.hpp> 
#include <boost/fusion/include/pair.hpp> 

struct A { }; 
struct B { }; 

int main() 
{ 
    boost::fusion::map< 
     boost::fusion::pair< 
      A, 
      boost::fusion::map<boost::fusion::pair<unsigned int, B>> 
     > 
    > map_; 

    B b = boost::fusion::at_key<unsigned int>(boost::fusion::at_key<A>(map_)); 
} 

Online Demo

+0

愚蠢的我...謝謝 –