Witam. Jakie typy danych w podanym szablonie dopuści kompilator i dlaczego?
#include <iostream>
class X {};
class Y : public X {};
template<class T>
class A {
public:
A() {}
public:
virtual T b(T x) = 0;
};
template<class T>
class B : public A<T> {
public:
X b(T x) { return x; };
};
int main(void) {
B<???> x;
x.b(/*co tutaj?*/);
return 0;
}