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

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Bucky Roberts

    Bucky Robert

    9 HAZİRAN 2011
  • Matus Slovak

    Matus Slovak

    5 Temmuz 2007