Boost.Fusionのドキュメントには、BOOST_FUSION_ADAPT_STRUCTによって構造体が完全に互換性のあるBoost.Fusionランダムアクセスシーケンスになると記載されています。
私は次のことを試しました:
#include <iostream>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/fusion/include/at.hpp>
struct Str {
int i;
float j;
};
BOOST_FUSION_ADAPT_STRUCT(
Str,
(int, i)
(float, j)
)
int main() {
Str s;
boost::fusion::at<0>(s) = 1;
}
また、コンパイラから「at(Str&)の呼び出しに一致する関数がありません」というエラーが表示されました。
私が使用しているコンパイラはg++です。
私は何が間違っているのですか?
前もって感謝します。