使用gmp,我声明:
mpz_class x = 0;
Run Code Online (Sandbox Code Playgroud)
但是现在如果我想用x作为数组的索引,就像这样:
textArray[x];
Run Code Online (Sandbox Code Playgroud)
我收到此错误"错误:'testArray [x]'中'运算符[]'不匹配"
那么我该如何解决这个问题呢?
Zet*_*eta 10
通常operator[]需要一个size_t.您需要mpz_class在兼容类型中转换您的实例:
textArray[x.get_ui()];
Run Code Online (Sandbox Code Playgroud)
请注意,如果x大于std::numeric_limits<unsigned long>::max()(检查),这将导致麻烦x.fits_ulong_p()).请注意,这mpz_class也很可能不太适合该任务.问问自己:索引是否应该是任意大的?
也可以看看: