2012-02-17 78 views
1

我是新來推動和元編程,所以我的問題是這樣的:填充的std ::向量與異構的boost ::融合矢量型數據

typedef fusion::vector<int, char, double, std::string> my_row; 
typedef std::vector<my_row> my_vec; 

my_row my_data = my_row(3,"f",2,"2"); 

my_vec t; 

t.push_back(my_data); // this doesn't compile and gives error <C2039> 

這可能是一個非常愚蠢的問題對於大多數的你,但爲什麼不編譯?我是否需要以某種方式將my_row向量轉換爲可以存儲到普通std :: vector中的東西?

也有人可以指點我一個關於元編程和提升的不錯的介紹性書籍,這樣我就可以瞭解boost的使用和一些使用boost的編程示例背後的思路嗎?

我真的認爲在線手冊網站是絕對垃圾。至少對於那些對C++和STL不是完全陌生的人來說,看起來如此,但是在'struct'聲明和'::'和'<>'中使用得分會丟失。總的來說,所有這些讓新手難以使用和理解的東西都會增加。

回答

2

"f"是一個字符串,而不是char。改爲嘗試'f'