SORU
12 Temmuz 2010, PAZARTESİ


Statik üyesine bir sınıf şablonu başlatma

Bunu yapmak istiyorum:

template <typename T>
struct S
{
    ...
    static double something_relevant = 1.5;
};

ama something_relevant beri ayrılmaz bir tip değil. T, bağımlı değil ama mevcut kod üzerinde S statik bir üyesi olmasına bağlıdır.

Şablon Ler olduğu için derlenmiş bir dosya içinde tanımı koyamazsınız. Bu sorunu nasıl çözerim ?

CEVAP
12 Temmuz 2010, PAZARTESİ


Sadece başlık tanımlayın:

template <typename T>
struct S
{
    static double something_relevant;
};

template <typename T>
double S<T>::something_relevant = 1.5;

Bir şablon, şablonlar olarak bir parçası olduğu için derleyici yalnızca bir kez tanımlanmış olduğundan emin olun.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009