次の形式の問題があります。
class A {
...
};
template <...> class B : public A {
...
}
f(A*) {...}
f(C*) {...}
template <...> f(D*) {...}
問題は、関数 f を型 B* の引数で呼び出すと、ジェネリック型 D* (A または B とはまったく関係がない) が選択されることです。A*の特化を選択してほしい。
私がやろうとしていることは有効ですか?もしそうなら、なぜ機能しないのですか?
ありがとう、
イアン