Bir başlatıcı listesinde çok fazla ad alanı kullanımım var ve ayrıntı alanını azaltmak için ad alanı'u kullanarak bir olmasını isterim. Ancak, başlatıcı listesi yapıcı parantezinin kapsamı dışındadır, bu yüzden 'u kurucunun dışına kullanarak yerleştirmek ve dosyanın geri kalanını onunla kirletmek zorunda kaldım. Kullanmayı istediğim gibi kullanmanın bir yolu var mı? Yerine:ad alanı sadece başlatıcı listesi için
MyClass::MyClass() :
m_one(nsConstants::ONE),
m_two(nsConstants::TWO),
m_three(nsConstants::THREE)
{}
istediğim:
MyClass::MyClass() :
using namespace nsConstants;
m_one(ONE),
m_two(TWO),
m_three(THREE)
{}
_
Hangi dildir? Lütfen uygun bir şekilde etiketleyin. –
Üzgünüm Tomasz, ve yorum için teşekkürler. C++ etiketi eklemek için düzenlenmiştir. – Ant
Karışıklığı önlemek için, C++ dilbilgisi öğesi "başlatıcı listesi" başka bir şey olduğundan ("başlatıcı başlatıcısı için" {} "bölümü olduğundan" ctor-initializer "olarak adlandırılmalıdır. Ve dosyanın kalan kısmını "kirleten" ile bu kadar kötü olan nedir? Bu sizin .cxx dosyanızdır, bir başlık değil, bu yüzden tamam olmalı. Başka bir seçenek nsConstants :: ONE; 'kullanarak yapmak, ancak istediğinizi mümkün değildir. – PlasmaHH