🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
自作関数9 自作関数の引数はvoid f(int x)のように記述します。void f(x)と記述してはいけません
自作関数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' 型が不適切に使用されています。
ソーラー
「やっぱりうまくビルドできないね。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます