No.1ベストアンサー
- 回答日時:
1. int を特別視しないように処理を組むよう修正
2. 無理な場合、テンプレート(クラス)を int で特殊化
3. typeid を利用
if(typeid(data) == typeid(int))
※コンパイラによっては、RTTI(実行時型識別)の設定を
ONにする必要があります。
No.2
- 回答日時:
> このf()の中で自分が呼ばれた時の型を判別して処理を分けたいです。
判別したい型は、静的な型でしょうか、それとも動的な型でしょうか。それによって実現方法が変わります。
静的な型の判別は、テンプレートの特殊化を使うのが普通です。ただし、関数の場合は部分特殊化ができないので、いったんクラスを介すなどの工夫が必要です。
動的な型の場合、typeidやdynamic_castを使う必要があります。可能であれば、判別対象のクラスに仮想関数を仕込んでおくのが一番簡単です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既定のコンストラクタがない?
-
[MFC] CWnd::MessageBoxの警告...
-
ダイアログクラスのコントロー...
-
C++ protectedにアクセス不可
-
イベントにAddHandlerされてい...
-
MFCのCListCtrlでスクロールを検出
-
名前空間について
-
form1 から form2 へのデータの...
-
MessageBoxを継承したい
-
MFCでSDIからダイアログの呼び出し
-
テンプレート指定クラスのコン...
-
コンソールアプリでのクリップ...
-
OnPaintとOnDraw関数の違いにつ...
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールでEnter...
-
今,C++のコンストラクタを勉...
-
ダイアログ表示時にチェックボ...
-
MFCアプリのコマンドラインでパ...
-
C++でCのソースを改修
-
privateなメンバ関数をテストす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
クラスのアドレスを引数として...
-
C++ protectedにアクセス不可
-
エディットコントロールでEnter...
-
このコンパイルエラーの意味に...
-
イベントにAddHandlerされてい...
-
DataGridViewのセルに斜線を引...
-
ダイアログクラスのコントロー...
-
【ASP.NET】 独自で作成したク...
-
OnInitDialog()の関数の組み込み方
-
MFCアプリのコマンドラインでパ...
-
C#で通常のbuttonコントロール...
-
MFCのCListCtrlでスクロールを検出
-
MFCのドラッグ&ドロップについて
-
正規表現 [^/]+ の意味を教えて
-
エディットコントロールのイベ...
-
関数の呼び出し元の検索
おすすめ情報