掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
typedef void (*afunc)();について (ID:63531)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
くろのすけです。 typedefは、typedef A Bのようにして A型にBという新しい名前を与えるものだと思っていますが、 下のプログラムの★の部分が、イマイチ合点がいきません。 typedef void (*afunc)(); これでは、AとBがどれなのかわかりません。 『引数を受け取らず、返却型がvoidである関数へのポインタ』型として定義しているそうです。 分かる方、教えていただけますか? ****************************************************** #include <iostream> using namespace std; enum animal { Dog, Cat, Invalid }; //--- 犬 ---// void dog() { cout << "ワンワン!!\n"; } //--- 猫 ---// void cat() { cout << "ニャ〜オ!!\n"; } //--- メイン ---// int main() { typedef void (*afunc)(); ←★ afunc fn[] = {dog, cat}; int menu; do { do { cout << "0…犬 1…猫 3…終了:"; cin >> menu; } while (menu < Dog || menu > Invalid); if (menu != Invalid) fn[menu](); } while (menu != Invalid); return 0; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.