自作関数9 自作関数の引数はvoid f(int x)のように記述します。void f(x)と記述してはいけません

ソーラー「例えば


void f(int x) {


cout << x << "をとりこみました。\n";

}


のように自作関数fが定義されていて


main関数内で自作関数を使用するとき


f(1);

f(10);


のように


int xに数値データを代入して 


プログラムを記述してきました   



このときの


数値データ1や数値データ10



自作関数fの引数(=関数が利用できるデータ)ですね。」





てんC「先程のプログラム


👇


#include <iostream>


using namespace std;


void f(int x) {


cout << x << "をとりこみました。\n";

}


int main(){


int a=10;

f(a);

f(a);

f(a);


return 0;


}


ビルド実行結果


10をとりこみました。

10をとりこみました。

10をとりこみました。

👆

このプログラムの自作関数の定義では


void f(int x){

cout << x << "をとりこみました。\n";


}


のように


自作関数内で変数xを使用するため


自作関数の引数に


ローカル変数xの変数宣言int xを用い


変数xに与えられる数値データを


自作関数の引数として受け取れるようにしています。


ローカル変数ときけば


グローバル変数を思いつかれる方もおられるかもしれません。


自作関数の引数にはローカル変数だけでなく


グローバル変数を用いることもできるのかな?


とおもっちゃいます」



その際のプログラムを次のように表記してみます。


#include <iostream>


using namespace std;


int x;//👈xのint型のグローバル変数宣言です


void f(x) {

cout << x << "をとりこみました。\n";

}


//👆グローバル変数の変数xを自作関数の引数に

//用いようとしています


int main(){


int a=10;

f(a);

f(a);

f(a);


return 0;


}


ビルド実行結果


エラー (アクティブ) E0757 変数 "x" は型の名前ではありません

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2448 'f': 関数の定義が間違っています。

エラー C2182 'f': 'void' 型が不適切に使用されています。


ソーラー「ビルドエラーが出ました。\(^o^)/


グローバル変数はプログラム全体で使える変数ですが


この記述方法だと自作関数が機能しないみたいですね。



もう1つ試しに


プログラムの冒頭で


float x;


で定義されたグローバル変数xを


自作関数の引数とした


プログラムをコンパイルしてみます


#include <iostream>


using namespace std;


float x;//👈xのfloat型のグローバル変数宣言です


void f(x) {

cout << x << "をとりこみました。\n";

}


//👆グローバル変数の変数xを自作関数の引数に

//用いようとしています


int main() {


int a = 10.0;

f(a);

f(a);

f(a);


return 0;


}



ビルド実行結果


エラー (アクティブ) E0757 変数 "x" は型の名前ではありません

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2064 1 引数を取り込む関数には評価されません。

エラー C2448 'f': 関数の定義が間違っています。

エラー C2182 'f': 'void' 型が不適切に使用されています。



ソーラー


「やっぱりうまくビルドできないね。」




  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る