VS2010がコンパイルしない以下のコードスニペットの何が問題になっていますか?
int m = sqrt( n );
(整数が素数であるかどうかを確認しようとしています...)
VS2010がコンパイルしない以下のコードスニペットの何が問題になっていますか?
int m = sqrt( n );
(整数が素数であるかどうかを確認しようとしています...)
特定の浮動小数点型をに渡す必要がありますsqrt
-整数のオーバーロードはありません。例を使用してください:
long double m = sqrt(static_cast<long double>(n));
あなたが含まcmath
ないので、math.h
私はあなたがc++を望んでいると仮定しています。Cの場合、次を使用する必要があります。
double m = sqrt((double) n);
発生するエラーは、コンパイラが関数を自動的に選択できないことを意味しsqrt
ます。渡す整数は浮動小数点型に変換する必要があり、コンパイラはどの浮動小数点型とsqrt
関数を選択する必要があるかを認識していません。