ссылка в параметрах шаблона
От: include2h  
Дата: 21.12.12 18:18
Оценка: -1
Вероятно я чего-то туплю, но вот такой вроде бы нормальный код не компилируется, выдает ошибку
error C2664: 'MyTemplate<T>::Foo' : cannot convert parameter 1 from 'Derived *' to 'Base &'
(MSVC 2008)
template<class T>
class MyTemplate
{
public:
    void Foo(T arg) {};
};

class Base
{
public:
    int x;
};

class Derived : public Base
{
public:
    int y;
};

typedef Base* BasePtr;

typedef MyTemplate<BasePtr&> MyTemplateClass;

int main()
{
    MyTemplateClass obj;
    Derived *p = new Derived;
    obj.Foo(p);
    return 0;
}


Почему? Я же хочу ссылку на указатель, а не ссылку на объект!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.