VC8.0言語処理系でメンバ関数テンプレートを仮想関数にしたらエラーになりました。
これは、VC8.0言語処理系の対応なのでしょうか? それともC++言語系の仕様なのでしょうか?
今回、メンバ関数の一部にイテレータを使用していまして、その関係で一部の関数がテンプレートになっています。
そして、基底クラスでは実装せず、派生先で実装を強制する純粋仮想関数としたのですが、この処理がコンパイルエラーとなっています。
メンバ関数の参照などを考えたのですが、どうも巧くコンパイルでき無そうです。
この処理が出来ないことは設計段階で把握していなかったので、これが出来ないとすると設計のし直し(テンプレートの廃止など)をしなくてはいけません。
詳しい方がいらっしゃいましたら、お願いします。
No.1ベストアンサー
- 回答日時:
標準C++の言語仕様上許されていません。
N1905
"Working Draft, Standard for Programming Language C++" より:
14.5.2 Member templates
3 A member function template shall not be virtual.
[ Example:
template < class T > struct AA {
template < class C > virtual void g(C); / / error
virtual void f (); / / OK
};
—end example ]
回答ありがとうございます。
なるほど、言語仕様なのですね。
設計の段階で気付かなかったのが痛いのですが、仕方が無いので言語仕様に違反しないように設計をしなおします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- C言語・C++・C# 課題でどうしてもわからない問題があったので教えてほしいです、、 メンバ関数add_accept_st 3 2022/06/04 12:23
- JavaScript オブジェクト配列の各メンバを任意の式で評価して、その評価値が最大のオブジェクトを返す関数はありますか 2 2023/05/20 15:02
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- 数学 ピーマン予想。突如として数学史上に名を残すこととなる複素関数ピーマンゼータ関数が発見されたとします。 1 2022/05/30 20:49
- Excel(エクセル) Indirect関数について、Formulatextで抽出した数式を参照したい。 1 2022/12/15 11:16
- C言語・C++・C# C言語について。 3 2022/11/05 20:30
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- 財務・会計・経理 減価償却での会計処理は、会計実態と差異があるのでしょうか? 11 2022/05/01 21:29
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
既定のコンストラクタがない?
-
C++ protectedにアクセス不可
-
派生クラスから基本クラスprote...
-
ウィンドウの背景に画像を配置する
-
ダイアログクラスのコントロー...
-
System.Net.HttpWebRequest、も...
-
CViewクラスの切り替え
-
MFC CSplitter内にコントロール...
-
vba sendKeysを送る相手のソフ...
-
Delphi6でVB.NETで作成のDLL呼出
-
基本クラスのポインタで、派生...
-
MFCのCDialogクラスについて、、、
-
このコンパイルエラーの意味に...
-
継承を重ねた場合のコストはど...
-
Delphi2007のCheckBox.Font.Col...
-
IncludeではなくClassで宣言す...
-
FriendとPublicの違い。。。
-
C++では構造体がメンバ関数をも...
-
親クラスのコンストラクタは? ...
-
クラス メンバ関数インライン化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FriendとPublicの違い。。。
-
既定のコンストラクタがない?
-
イベントにAddHandlerされてい...
-
クラスのアドレスを引数として...
-
ダイアログ表示時にチェックボ...
-
(UWSC) 「#32770」の意味わかり...
-
エディットコントロールのイベ...
-
エディットコントロールでEnter...
-
WindowsAPIのリストビューの...
-
CMainFrameクラスの使い方
-
DebugクラスとTraceクラスの違い
-
MessageBoxを継承したい
-
C++ protectedにアクセス不可
-
MFCアプリのコマンドラインでパ...
-
このコンパイルエラーの意味に...
-
MFCのドラッグ&ドロップについて
-
【ASP.NET】 独自で作成したク...
-
派生クラスから基本クラスprote...
-
ダイアログクラスのコントロー...
-
C#で通常のbuttonコントロール...
おすすめ情報