自作関数2 変数xを引数にもつ自作関数void fanction(int x)について考察してみる int xをxと記述してもよいのでしょうか? 

ソーラー「よぉし 自作関数 void newmadefunction(void)


いい出来だね💖」



#include <iostream>


using namespace std;


void newmadefunction(void){


cout << "今日もよいC++言語日和です。" << "\n";


return ;


}



int main (){


newmadefunction();


return 0;


}


プログラムの実行結果


今日もよいC++言語日和です。




ソーラー「あ~心が和むねぇ~」


しみじみと鑑賞してみる。


マックス「大分自作関数についてわかってきたじゃないか😊


は~っはっは~~」



🌞  🌞  🌞



のんびりした時間がながれていきます。




🌞  🌞  🌞



ソーラー「おおっ 大分  調べることができたね。」



マックス「むぅぅ 自作関数についてまったくわかっていなかった」



ソーラー「😊さあ 今日はどこからはじめてみようか?


みなさん 気になるところがたくさんあるよね。」


マックス「そうだな。」


ソーラー「それでは・・・


まずはみなさん 次のプログラムをご覧ください


自作関数の定義内に


cout<<x<<"\n";


のように


変数xが使われている関数がある場合


どのように自作関数の定義を記述すればよいでしょうか?


次のプログラムをみていきましょう。


#include <iostream>


using namespace std;


void function(int x){


cout<<x<<"\n";


return;


}


int main(){


function(1);


return 0;


}


プログラムの実行結果



1


ソーラー「


ここで



void function(int x){


cout<<x<<"\n";


return;


}


で定義された自作関数function(int x)は


intxに代入された整数値を


cout<<x<<"\n";


を通して


コマンドプロンプト画面にcout出力表示する自作関数です。


それでは 


このプログラムにおいて


function(1);


が実行される際



自作関数の定義

👇

void function(int x){


cout<<x<<"\n";


return;


}

のintxに


1が代入された状態で


cout<<x<<"\n";


が実行されますが


このintxに代入される数値データは


どこから受けとっているのでしょうか 


それは


main関数(mainも実は関数です)内で


function(1);


と記述されたときの1を


intxは受け取っています。


intx=1;


となっているわけですね。


そのようなわけで


function(1);


が実行されると


cout<<x<<"\n";


の変数xに1が代入されることになり


プログラムの実行結果



1


となります。


それでは


function(  )の(  )の中身を


int xでなくxとした


次のプログラムをビルド実行してみましょう。」


#include <iostream>


using namespace std;


void function(x){


cout<<x<<"\n";


return;


}


int main(){


function(1);


return 0;


}


プログラムの実行結果



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

エラー (アクティブ) E0020 識別子 "x" が定義されていません

エラー (アクティブ) E0020 識別子 "x" が定義されていません

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

エラー C2065 'x': 定義されていない識別子です。

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


ソーラー「いかがですか?


ビルド実行できませんね


実は


"function(  )の(  )の中身をint xでなくxとした"


この状態は正しくありません。


なぜなら


変数宣言int x;がおこなわれていないのに


変数xを使おうとしているのと同じだからです。


ビルドエラー表示をみても


Visual Studio(コンパイラ)はxが変数宣言されていないと気付いています。




cout<<x<<"\n";をつかって


xに好きな整数値を代入して表示することができる


自作関数をつくりたいなら


自作関数の定義で

👇

void function(int x){


cout<<x<<"\n";


return;


}

👆


      xの変数宣言  int xを


       function()の()の中に記述して



整数を格納するint型の変数xを作製し使用できるようにします



cout<<x<<"\n";をつかって実数値を表示したいなら


xに好きな実数値を代入して表示することができる


自作関数をつくりたいなら


次のように


自作関数の定義で

👇

void function(float x){


cout<<x<<"\n";


return;


}

👆


  xの変数宣言  float xを


        function()の()の中に記述して


実数値を格納するfloat型の変数xを作製し使用できるようにします



と いうことで普通に


実数値5.55をfloat xに格納して


cout出力表示する自作関数が実行されるプログラムを


ビルド実行してみましょう。



#include <iostream>


using namespace std;


void function(float x){


cout<<x<<"\n";


return;


}


int main(){


function(5.55);


return 0;


}


プログラムの実行結果



5.55


やったね!


うまく


実数値5.55をcout出力表示できました😊


Visual Studio(コンパイラ)もxがちゃんと変数宣言されているので


ソースコードをビルドすることができています。」


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

作者を応援しよう!

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

応援したユーザー

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

新規登録で充実の読書を

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

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

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