Şablon sınıfının belirli bir uzmanlığı için şablon kurucusu SADECE belirtilebilir mi? Bu kodu vardır:Şablon oluşturucuda şablon sınıfı uzmanlığı
template <typename T>
class A {
public:
A(std::function<T()> f) : x(f) {}
template <typename Y>
A<void>(Y* x) : x(x) {}
private:
boost::variant<int*, char*, std::function<T()>> x;
}
Ben ikinci yapıcı olmayan tek std :: fonksiyon parametrelerinin derlemek yapmaya çalışıyorum, ben açıkça T gerektiği derleyici anlatmak için bir yol bulmaya çalışıyorum yüzden Bu durumda geçersiz olmak, ama açıkçası bu derleme olmaz.
Sizin durumunuzda, neden sadece int * 've' char * 'için aşırı yüklenme yapmıyoruz? – Jarod42