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

  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007
  • George McCarron

    George McCar

    29 Mayıs 2013
  • ::..ηєѕѕ мιχ..::

    ::..ηєѕѕ

    15 Aralık 2006