2
this pageにある従業員のサンプルコードをコンパイルできます。大きな構造がboost-spiritを使用して解析されます
私はそうのように8つの以上の文字列で構造を拡張する場合:
struct employee
{
int age;
std::string surname;
std::string forename;
std::string a1;
std::string a2;
std::string a3;
std::string a4;
std::string a5;
std::string a6;
std::string a7;
std::string a8;
double salary;
};
(そしてもちろん私もBOOST_FUSION_ADAPT_STRUCTや文法を拡張)私がコンパイルしようとすると、その後、私は、次のエラーを取得します:
../include/boost/fusion/container/vector/convert.hpp:26:13: error: invalid use of incomplete type ‘struct boost::fusion::detail::as_vector<12>’
../include/boost/fusion/container/vector/detail/as_vector.hpp:26:12: error: declaration of ‘struct boost::fusion::detail::as_vector<12>’
私の構造体に> 10個のアイテムがある場合、これが発生することがわかりました。 2つの質問:
- なぜこの制限がありますか?
- どうすれば回避できますか?
任意の入力を歓迎します。
FUSION_MAX_VECTOR_SIZEを任意の値に設定します(ただし、コンパイル時に重くなる可能性があるため制限はあります)。 – Ylisar
ところで、boost 1.48とg ++ 4.6.3を使用します。コンパイルコマンド:g ++ -I ../include -ggdb -Wall -oemployee employee.cpp – jkp
@Ylisar:それだけです!どうもありがとう。あなたはあなたのコメントを答えに変換できますか?私はそれを受け入れることができますか? – jkp