pstade::oven::fuzipped に boost::array を渡すとコンパイルエラー


つまりこういうこと。

typedef boost::array<int, 5> array_t;
array_t array = {0, 1, 2, 3, 4};

// こいつでコンパイルエラー
//oven::make_fuzipped(fusion::make_vector(array, array));

// 変数に代入してから渡したら OK
fusion::vector<array_t, array_t> foo(array, array);
oven::make_fuzipped(foo);

// tuple と zipped でも OK
oven::make_zipped(make_tuple(array, array));

// int[] も OK
int array2[] = {0, 1, 2, 3, 4};
oven::make_fuzipped(fusion::make_vector(array2, array2));


こんな感じで、boost::fusion::make_vector を pstade::oven::make_fuzipped に渡すとコンパイルエラーが出てくる。
エラー内容と見ると、関数の特定に失敗しているみたい(?)なんですがいまいち分からない。
やっぱり、根っこの深い部分の処理は何をやっているのかがさっぱりですね。
変数に代入してから渡すと問題ないのがすごく気持ち悪い…。


一応、zipped だとエラーが出ないので回避出来ないことも無いんだけども…教えてエロイ人


[pstade]
ver 1.04.3