2011-01-03 19 views

cevap

3

Yapamazsınız. Mükemmel yönlendirme, yalnızca şablonlar ve referans değerlerini birleştirerek çalışır, çünkü T'nin uzmanlık yaptığı zaman ne tür bir gerçek tip T&& değerlendirdiğine bağlıdır. Şablonları ve sanal işlevleri karıştıramazsınız.

struct base { 
    virtual void invoke() = 0; 
}; 

template <class T> 
struct derived : public base { 
    derived(T&& yourval) : m_value(std::forward(yourval)) {} 
    virtual void invoke() { /* operate on m_value.. */ } 

    T&& m_value; 
}; 
:

Ancak, tip-silme mekanizması çeşit sorunu çözmek mümkün olabilir olabilir