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

  • Angry Paintballer

    Angry Paintb

    8 Ocak 2012
  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • Modus Recordings

    Modus Record

    26 Kasım 2008