a が回文かどうかをテストするコンパイラとして C++ と Xcode を使用して関数をコーディングしようとしています。引数が「C++ 生まれ」の型 (int、long、double など) の場合、コードはうまく機能しますが、より大きな値に対して関数を使用したいと考えています。そこで、BigInteger型の引数を使用しました。しかし、コンパイラは行にエラーを出します
BigInteger q = x - floor(x.toLong()/10)*10
そう言ってConversion from 'double' to 'const BigInteger' is ambiguous
。コード全体は次のとおりです。
#include <iostream>
#include "BigInteger.hh"
using namespace std;
bool isPalindrom(BigInteger x){
long ch = ceil(log10(x.toUnsignedLong())), n[ch];
// cout << floor(log10(x)) + 1 << endl;
for (int i = 0; i <= ch; i++){
BigInteger q = x - floor(x.toLong()/10)*10;
n[i] = q.toInt();
// cout << n[i] << endl;
x /= 10;
}
for (long i = 0; i <= ceil(ch); i++){
if (n[i] != n[ch - i]){
return false;
}
}
return true;
}
どうすればこの問題を解決できますか?