c++の話です。
以下の様な変数を用意しました。
const rapidjson::Value& objects = new rapidjson::Value();
これが配列だと仮定し、最初のオブジェクトを取り出したいとします。
const rapidjson::Value& firstObject = objects[0];
こんな要領ですね。
しかし、掲題のエラーが出てコンパイルが通りません。
しかも何がややこしいって0だけだめで1だとこのエラーは出ないんです。
unsignedであれ
そんなこんなで、解決にかなり時間がかかってしまったんですが、どうやら
rapidjson::Valueの中身を参照する場合、添字はunsignedである必要
があり、signedだとこのようなエラーが出る様です。
よって、正解は以下の形です。
const rapidjson::Value& firstObject = objects[static_cast<rapidjson::SizeType>(0)];
SizeTypeはどうやらただのunsigned再定義でした。
typedef unsigned SizeType;
誰かのお役に立てば。
コメント