🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
デフォルト引数の設定は右側の引数から順次行っていくというルールがあります つまり引数の初期化は右側の引数から順次行う必要があります
デフォルト引数の設定は右側の引数から順次行っていくというルールがあります つまり引数の初期化は右側の引数から順次行う必要があります
solarplexuss「では次のプログラムを実行してみよう。」
#include <iostream>
using namespace std;
void f(int x= 1, int y, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
int main() {
f(5,6,7);
return 0;
}
ビルド実行結果
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
solarplexuss
「あれ?
f(5,6,7);
が実行できていない?????
なんで?
ちゃんと
f(5,6,7);
と記述して
int x=5;
int y=6;
int z=7;
をおこなって
変数
x
y
z
を初期化したはずなのにねぃ
てんCちゃん
それと
ビルド結果の
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
もなんか気になる・・・
f(5,6,7);
と記述して
変数
x
y
z
を初期化したなら
自作関数の引数に
数値は代入されているはずで
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
が表示されるはずはないとおもうんだけどぉ
ねえ、ねえ 😊 ソーラー
どう思う?」
ソーラー「ははあ
どうやら
自作関数の定義
void f(int x= 1, int y, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
の
void f(int x= 1, int y, int z)
の部分に問題があるんじゃないかな?」
solarplexusss「えぇ?」
ソーラー「では
自作関数fの定義を
void f(int x= 1, int y, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
から
void f(int x, int y=1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
に変更して
プログラムを実行してみます。
#include <iostream>
using namespace std;
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
int main() {
f(5,6,7);
return 0;
}
ビルド実行結果
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
ソーラー「うふふ やっぱり
ビルド実行できません。
ね solarplexussさん」
solarplexuss「やっぱり
f(5,6,7);
と記述して
変数
x
y
z
を初期化したなら
自作関数の引数に
数値は代入されているはずで
このビルド結果が
👇
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
表示されるはずはないんだけど???
なんで??
ただ・・・
自作関数fの定義を
void f(int x=1, int y , int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
としたときは
ビルド実行結果は
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
だったのに
自作関数fの定義を
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
としたときは
ビルド実行結果は
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
となっているのが
不思議な感じがするなぁ(´▽`*)」
ソーラー「うふふ そうでしょう、
では
次は自作関数fの定義を
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
から
void f(int x, int y, int z=1) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
に変更して
プログラムを実行してみましょう。」
solarplexuss「
次は自作関数の定義を
👇ここに注目
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
から
👇ここに注目
void f(int x, int y, int z=1) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
に変更して
プログラムを実行する~~~~~?????
しますか ふっつう
ビルドエラーが出るのはほぼ間違いないとおもうけど?????」
ソーラー「まあ、 ここまできたらビルド実行してみませんか
面白い結果が出てくるかもしれませんよ
ねえ てんC
どう思う?」
てんC「自作関数fの定義を
void f(int x=1, int y , int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
としたときは
ビルド実行結果は
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
エラー C2548 'f': 2 番目の引数に対して既定の引数がありません。
でした。
自作関数fの定義を
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
としたときは
ビルド実行結果は
エラー (アクティブ) E0306 既定の引数がパラメーター リストの末尾にありません
エラー C2548 'f': 3 番目の引数に対して既定の引数がありません。
でした。
となると
自作関数fの定義を
void f(int x, int y, int z=1) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
としたときは
さらにビルド実行結果が変化している可能性があります。」
solarplexuss「あ、そういえばそうだね。
これは 意外と面白いビルド結果が出るかも(´▽`*)」
ソーラー「それでは
自作関数fの定義を
void f(int x, int y = 1, int z) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
から
void f(int x, int y, int z=1) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
に変更して
プログラムを実行してみます。」
#include <iostream>
using namespace std;
void f(int x, int y, int z=1) {
cout << x << "をとりこみました。\n";
cout << y << "をとりこみました。\n";
cout << z << "をとりこみました。\n";
}
int main() {
f(5,6,7);
return 0;
}
ビルド実行結果
5をとりこみました。
6をとりこみました。
7をとりこみました。
ソーラー「やったね!
うまくプログラムをビルド実行できました。」
てんC「きゃっ きゃつ(´▽`*)/」
solarplexuss「わぁ ほんとうだ
なんで~~
不思議だね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます