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

  • BigDawsTv

    BigDawsTv

    20 HAZİRAN 2012
  • habpsu

    habpsu

    25 Temmuz 2007
  • Sam Kear

    Sam Kear

    14 Temmuz 2007