के बजाय पेट (डबल) से डबल परिणाम प्राप्त करना मुझे दो double
मानों के अंतर के पूर्ण मूल्य की गणना करने की आवश्यकता है और double
परिणाम है। इसके बजाय, मुझे int
मिल रहा है।int
#include <typeinfo>
// ...
printf(
"a:%s b:%s delta:%s abs:%s\n",
typeid(a).name(),
typeid(b).name(),
typeid(a - b).name(),
typeid(abs(a - b)).name()
);
// Prints: a:d b:d delta:d abs:i
तो घटाव का परिणाम पहले से ही एक डबल है, क्यों abs
double abs (double x);
हस्ताक्षर का उपयोग नहीं कर रहा है? दरअसल, यह एक पूर्णांक कैसे वापस कर सकता है? सबसे महत्वपूर्ण बात यह है कि मैं इसे double
वापस करने के लिए कैसे मजबूर करूं?
मामले में यह एक फर्क नहीं पड़ता, a
और b
वास्तव में myData.m_lat
और otherData.latitude()
हैं।
यह जानने का कोई तरीका नहीं है कि आप क्या 'abs' फ़ंक्शन कॉल कर रहे हैं। [एमसीवी] मदद करेगा। – juanchopanza