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

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

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

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

Q&A

解決済

2回答

1202閲覧

forming reference to voidの解決方法とその他

langhtorn

総合スコア104

C++

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

0グッド

0クリップ

投稿2020/05/15 16:10

### 実現したいこと
三つの実数を入力させてそれらをソートするプログラムを作りたい
### 発生しているエラーメッセージ

forming reference to void no match for 'operator<<' (operand types are 'std::basic_ostream<char>' and 'void') variable or field 'swap' declared void void swap(*ax,*bx); ^ kadai07.cpp:5:12: error: 'ax' was not declared in this scope void swap(*ax,*bx); ^~ kadai07.cpp:5:16: error: 'bx' was not declared in this scope void swap(*ax,*bx);

ソースコード

C++

1#include<iostream> 2void sort3(double *x1,double *x2,double *x3); 3void swap(*ax,*bx); 4int main() 5{ 6 double x1,x2,x3; 7 std::cout<<"三つの整数を入力してください "; 8 std::cin>>x1; 9 std::cin>>x2; 10 std::cin>>x3; 11 std::cout<<"ソート結果は"<<sort3(&x1,&x2,&x3)<<"\n"; 12 return 0; 13} 14void swap(double *ax,double *bx) 15{ 16 int temp=*ax; 17 *ax=*bx; 18 *bx=temp; 19} 20void sort3(double *x1,double *x2,double *x3) 21{ 22 if(*x1>*x2){ 23 swap(x1,x2); 24 } 25 if(*x2>*x3){ 26 swap(x2,x3); 27 } 28 if(*x1>*x2){ 29 swap(x1,x2); 30 } 31}

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

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

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

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

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

guest

回答2

0

C++

1#include<iostream> 2void sort3(double *x1,double *x2,double *x3); 3void swap(double *ax,double *bx); 4int main() 5{ 6 double x1,x2,x3; 7 std::cout<<"三つの整数を入力してください "; 8 std::cin>>x1; 9 std::cin>>x2; 10 std::cin>>x3; 11 sort3(&x1, &x2, &x3); 12 std::cout << "ソ\ート結果は" << x1 << " " << x2 << " " << x3 << "\n"; 13 return 0; 14} 15void swap(double *ax,double *bx) 16{ 17 int temp=*ax; 18 *ax=*bx; 19 *bx=temp; 20} 21void sort3(double *x1,double *x2,double *x3) 22{ 23 if(*x1>*x2){ 24 swap(x1,x2); 25 } 26 if(*x2>*x3){ 27 swap(x2,x3); 28 } 29 if(*x1>*x2){ 30 swap(x1,x2); 31 } 32} 33/*実行結果 34PS C:\Users\nakay\プログラミング上級演習> ./kadai07 35三つの整数を入力してください 154 3623 3744 38ソート結果は23 44 154 39*/

投稿2020/05/15 16:38

langhtorn

総合スコア104

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

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

0

ベストアンサー

問題点

前方宣言の型が抜けてる。

diff

1- void swap(*ax,*bx); 2+ void swap(double *ax, double *bx);

sort3() 関数は返り値は void
一旦、sort3() を呼び出したあとに x1, x2, x3 を出力する必要がある。

diff

1- std::cout<<"ソート結果は"<<sort3(&x1,&x2,&x3)<<"\n"; 2+ sort3(&x1, &x2, &x3); 3+ std::cout << "ソート結果は" << x1 << " " << x2 << " " << x3 << "\n";

投稿2020/05/15 16:16

tiitoi

総合スコア21956

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

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

langhtorn

2020/05/15 16:36

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問