error: no matching conversion for functional-style cast from
'double' to 'A'
return A((*this).x + a1.x);
^~~~~~~~~~~~~~~~~~
上記のようなエラーが出てしまいます。
調べたら型が間違っているみたいなのですが・・・どこを直せばいいですか?
c++
1#include<iostream> 2#include<fstream> 3#include<cmath> 4using namespace std; 5 6class A{ 7 8public: 9 double x; 10 double y; 11 12 A() = default; 13 14 //コンストラクタ 15 A(double x,double y){ 16 (*this).x = x; 17 (*this).y = y; 18 } 19 20 //長さを計算する関数len 21 double len(){ 22 return sqrt((-1.14453-x)*(-1.14453-x) + (0.560077-y)*(0.560077-y)); 23 } 24 25 //加算演算子と減算演算子 26 A operator+(A a1){ 27 return A((*this).x + a1.x); 28 } 29 A operator-(A a1){ 30 return A((*this).x - a1.x) 31 } 32 33}; 34 35int main(){ 36 ifstream ifs("9th.in"); 37 if(!ifs) return 1; 38 39 double x,y,x0,y0,r; 40 int n; 41 ifs >> x0 >> y0 >> r >> n; 42 43 cout << boolalpha; 44 for(int i=0;i<n;i++){ 45 ifs >> x >> y; 46 cout << (hypot(x - x0,y - y0) < r) << endl; 47 } 48}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/15 00:37