Bu, başka bir soru bağlamında ortaya çıktı .
Görünüşe göre sınıf şablonlarındaki üye işlevler yalnızca ODR kullanılıyorsa somutlaştırılır. Biri bunun tam olarak ne anlama geldiğini açıklayabilir mi? Bir Tanım Kuralı (ODR) üzerinde wikipedia makale "söz etmez ODR kullanımını ".
Ancak standart bunu şu şekilde tanımlar:
Adı potansiyel olarak değerlendirilmiş bir ifade olarak görünen bir değişken, sabit bir ifadede (5.19) görünme gereksinimlerini karşılayan bir nesne olmadığı sürece odr kullanılır ve ldeğerden r değerine dönüştürme (4.1) hemen uygulanır.
[basic.def.odr] içinde.
Düzenleme: Görünüşe göre bu yanlış kısım ve paragrafın tamamı farklı şeyler için birden fazla tanım içeriyor. Bu, sınıf şablonu üye işlevi için uygun olabilir:
Adı potansiyel olarak değerlendirilmiş bir ifade veya potansiyel olarak değerlendirilmiş bir ifadeden atıfta bulunulduğunda aşırı yük çözümlemesi ile seçilirse, adı potansiyel olarak değerlendirilmiş bir ifade veya bir aday işlevler kümesinin üyesi olarak görünen aşırı yüklenmemiş bir işlev, tamamen sanal olmadığı sürece odr kullanılır. işlev ve adı açıkça nitelenmemiş.
Bununla birlikte, bu kuralın birden çok derleme biriminde nasıl çalıştığını anlamıyorum? Açıkça bir sınıf şablonu başlatırsam tüm üye işlevler başlatılır mı?