ورود

View Full Version : سوال: هنگام استفاده از کتابخانه math.h این پیغام خطا رو می ده؟



complexcoding
دوشنبه 03 مهر 1391, 12:23 عصر
سلام دوستان
هنگام استفاده و include کتابخانه math و استفاده از این خط کد :
void Dialog::on_cmdCalculate_clicked() { QString strNum = ui->txtInput->text() ; int intNum=strNum.toInt() ; int intNumSquared=sqrt(intNum); }

این ارور رو می ده؟
C:\Documents and Settings\Administrator\Desktop\Show_Picture-build-desktop-Qt_4_8_0_for_Desktop_-_MSVC2008__Qt_SDK__Debug\..\Show_Picture\dialog.cp p:21: error: C2668: 'sqrt' : ambiguous call to overloaded function
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(581): could be 'long double sqrt(long double)'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(533): or 'float sqrt(float)'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\math.h(128): or 'double sqrt(double)'
while trying to match the argument list '(int)'

پیشاپیش ممنون از کمکتون

حامد مصافی
دوشنبه 03 مهر 1391, 18:36 عصر
intNum رو از نوع long تعریف کن.

rubiks.kde
چهارشنبه 05 مهر 1391, 16:09 عصر
خودت تابع sqrt رو جدا پیاده سازی نکردی به عنوان یک تابع از کلاست ؟

complexcoding
چهارشنبه 05 مهر 1391, 19:48 عصر
خودت تابع sqrt رو جدا پیاده سازی نکردی به عنوان یک تابع از کلاست ؟
مشکل این بود که این تابع تنها جذر نوع Double رو می گیره نه int و Long.