- 895 名前:デフォルトの名無しさん mailto:sage [2015/10/08(木) 18:22:57.97 ID:jZEKLa+0.net]
- struct base { template< typename T > virtual void method( T ){} };
struct derived : public base { template< typename T > void method( T ){} }; このとき、 base::method< int >(); base::method< float >(); derived::method< int >(); derived::method< float >(); の関数の実態があったとき、仮想関数に詰め込む順番をあわせる必要が有る これはリンカで行うしかないが、動的にロードする場合はどうなるんだという問題が出る また、derived::method<double>() を追加したとして baseの方に対応する関数がなかった場合はどうするんだという問題が出る リンカエラーにするのかvtableを拡張するのかどうするのか 動的にロードする時にどうするのか
|

|