10/10/21 16:52:18
01|struct A {
02| struct P {
03| template<typename _T>void foo(){}
04| };
05|};
06|template<typename _A>struct B : _A {
07| typedef typename _A::P P;
08| void bar(){
09| P p;
10| p.foo<B>();
11| }
12|};
g++ で 10 行目でエラーが出てしまうのですが
このような関数呼び出しをしたい場合はどのようにすればよいのでしょうか?
関数 foo の引数にダミーのポインタを渡す等をせず、型情報だけを渡したいです
B のテンプレートパラメタ _A には A を継承した様々なクラスが指定される感じです