質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1862閲覧

c++ no matching conversion~のエラーの直しかた

_._._ami

総合スコア26

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/07/15 00:16

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}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Aに引数がdouble一つだけのコンストラクタがありません。
yを渡し忘れています。
戻り値の型をconstにしておかないと、A型の変数a,b,cに対して(a+b)=c;としたときにエラーになりません。

C++

1 const A operator+(const A& a1) const { 2 return A(x + a1.x, y + a1.y); 3 } 4 const A operator-(const A& a1) const { 5 return A(x - a1.x, y - a1.y); 6 }

投稿2020/07/15 00:32

編集2020/07/15 00:48
SHOMI

総合スコア4079

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

_._._ami

2020/07/15 00:37

なるほど!!直せました、ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問