После реализации моего кодировщика плоских буферов "снизу вверх" я получаю следующее сообщение об ошибке:
../../flatbuffers-master/include/flatbuffers/flatbuffers.h:804: flatbuffers::uoffset_t flatbuffers::FlatBufferBuilder::ReferTo(flatbuffers::uoffset_t): Assertion `off && off <= GetSize()' failed.
Я полагаю, что это может быть связано с тем, что я уничтожаю построитель после того, как записал каждый flatbuffers::Offset<MyTable>
в массив, и поэтому этот построитель таблиц не может позже иметь этот набор функций, связанных с ним? Является ли наиболее эффективным способом решения этой ошибки наличие массива строителей?
В настоящее время я очищаю свой latbuffers::FlatBufferBuilder
между созданием каждого flatbuffers::Offset, используя мой MyTableBuilder
, потому что это предотвратило получение ошибки вложенности.
Это мой третий пост, в котором я пытаюсь понять flatbuffers, и я благодарен за вашу поддержку.