Compilation error in this solution to a codechef problem [RIGHTRI]. (I am using pythagoras theorem to solve it) | Sololearn: Learn to code for FREE!

0

Compilation error in this solution to a codechef problem [RIGHTRI]. (I am using pythagoras theorem to solve it)

Link to question: https://www.codechef.com/problems/RIGHTRI I keep getting a compilation error : prog.cpp: In function ‘int main()’: prog.cpp:13:35: warning: narrowing conversion of ‘(std::pow<int, int>((x2 - x1), 2) + std::pow<int, int>((y2 - y1), 2))’ from ‘__gnu_cxx::__promote_2<int, int, double, double>::__type {aka double}’ to ‘int’ inside { } [-Wnarrowing] int dSq[3] = {pow(x2-x1,2)+pow(y2-y1,2),pow(x3-x2,2)+pow(y3-y2,2),pow(x1-x3,2)+pow(y1-y3,2)}; https://code.sololearn.com/cN4D9y8KQUq4/?r

3/29/2018 8:43:17 AM

illusion

2 Answers

New Answer

+2

Thats not the error in your code, thats just the warning part. The error is in the sort function call. You pass the first and the last element of the array as parameters, while the function requires iterators which can be used to deduce addresses of the array elements. So you need to change the call to : sort(dSq, dSq+3); // This will sort the complete array

+1

thank you so much!