Language: C++

#include <iostream>
#include <array>
#include <math.h>

int main(){

	std::array<double, 3> a; //0:xa 1:ya 2:ra
	std::array<double, 3> b;

	int N;

	std::cin >> N;

	for(int i = 0; i < N; ++i){
		
		for(int j = 0; j < 3; ++j)
			std::cin >> a[j];

		for(int j = 0; j < 3; ++j)
			std::cin >> b[j];

		double ab = hypot( (a[0] - b[0]) + (a[1] - b[1]) );

		if( ab > (a[2] + b[2]) )
			std::cout << 0 << std::endl;
		
		else if ( a[2] > ab + b[2] )
			std::cout << 2 << std::endl;

		else if ( b[2] > ab + a[2] )
			std::cout << -2 << std::endl;

		else
			std::cout << 1 << std::endl;

	}
	
	return 0;

}

Compiler output:
a.cc: In function 'int main()':
a.cc:22:34: error: no matching function for call to 'hypot(std::array<double, 3>::value_type)'
   22 |                 double ab = hypot( (a[0] - b[0]) + (a[1] - b[1]) );
      |                             ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/math.h:36,
                 from a.cc:3:
/usr/include/c++/14/cmath:3789:5: note: candidate: 'template<class _Tp, class _Up, class _Vp> __gnu_cxx::__promoted_t<_Tp, _Up, _Vp> std::hypot(_Tp, _Up, _Vp)'
 3789 |     hypot(_Tp __x, _Up __y, _Vp __z)
      |     ^~~~~
/usr/include/c++/14/cmath:3789:5: note:   candidate expects 3 arguments, 1 provided
/usr/include/c++/14/cmath:3716:5: note: candidate: 'template<class _Tp, class _Up> constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type std::hypot(_Tp, _Up)'
 3716 |     hypot(_Tp __x, _Up __y)
      |     ^~~~~
/usr/include/c++/14/cmath:3716:5: note:   candidate expects 2 arguments, 1 provided
In file included from /usr/include/features.h:523,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/c++config.h:683,
                 from /usr/include/c++/14/bits/requires_hosted.h:31,
                 from /usr/include/c++/14/iostream:38,
                 from a.cc:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:180:1: note: candidate: 'double hypot(double, double)'
  180 | __MATHCALL_VEC (hypot,, (_Mdouble_ __x, _Mdouble_ __y));
      | ^~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:180:1: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/14/cmath:3784:3: note: candidate: 'long double std::hypot(long double, long double, long double)'
 3784 |   hypot(long double __x, long double __y, long double __z)
      |   ^~~~~
/usr/include/c++/14/cmath:3784:3: note:   candidate expects 3 arguments, 1 provided
/usr/include/c++/14/cmath:3780:3: note: candidate: 'double std::hypot(double, double, double)'
 3780 |   hypot(double __x, double __y, double __z)
      |   ^~~~~
/usr/include/c++/14/cmath:3780:3: note:   candidate expects 3 arguments, 1 provided
/usr/include/c++/14/cmath:3776:3: note: candidate: 'float std::hypot(float, float, float)'
 3776 |   hypot(float __x, float __y, float __z)
      |   ^~~~~
/usr/include/c++/14/cmath:3776:3: note:   candidate expects 3 arguments, 1 provided
/usr/include/c++/14/cmath:2433:3: note: candidate: 'constexpr long double std::hypot(long double, long double)'
 2433 |   hypot(long double __x, long double __y)
      |   ^~~~~
/usr/include/c++/14/cmath:2433:3: note:   candidate expects 2 arguments, 1 provided
/usr/include/c++/14/cmath:2429:3: note: candidate: 'constexpr float std::hypot(float, float)'
 2429 |   hypot(float __x, float __y)
      |   ^~~~~
/usr/include/c++/14/cmath:2429:3: note:   candidate expects 2 arguments, 1 provided