Use of overloaded operator ‘[]’ is ambiguousでハマった話。

LINEで送る
Pocket

c++の話です。

スクリーンショット 2014-12-11 17.43.15

以下の様な変数を用意しました。



これが配列だと仮定し、最初のオブジェクトを取り出したいとします。


こんな要領ですね。

しかし、掲題のエラーが出てコンパイルが通りません。

しかも何がややこしいって0だけだめで1だとこのエラーは出ないんです。

unsignedであれ


そんなこんなで、解決にかなり時間がかかってしまったんですが、どうやら

rapidjson::Valueの中身を参照する場合、添字はunsignedである必要

があり、signedだとこのようなエラーが出る様です。

よって、正解は以下の形です。


SizeTypeはどうやらただのunsigned再定義でした。


誰かのお役に立てば。

LINEで送る
Pocket

Dalt

translimit, Inc. Application Engineer. Twitter: @daiki1003 Facebok: Daiki Asahi

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です