gmp を使用して、次のように宣言します。
mpz_class x = 0;
しかし、x を配列のインデックスとして使用したい場合は、次のようになります。
textArray[x];
「エラー: 'testArray[x]' の 'operator[]' に一致しません」というエラーが表示されます
では、どうすればこれを回避できますか?
通常operator[]
はsize_t
. mpz_class
インスタンスを互換性のあるタイプに変換する必要があります。
textArray[x.get_ui()];
x
がより大きい場合、これは問題を引き起こすことに注意してくださいstd::numeric_limits<unsigned long>::max()
( で確認してください。も、そのタスクにはあまり適していない可能性が高いことにx.fits_ulong_p())
注意してください。自問してください: インデックスは任意に大きくする必要がありますか?mpz_class
以下も参照してください。