C++ 'bildirimi ve yönergesini kullanarak nasıl çalıştığını iyi anladım. Ancak, bu konuda güldüm ... Belki bu mümkün değil mi? Benim enum değişkenler kalite zorunda kalmamak istiyorum:C++ Ad alanı 'bir sınıf için' bildiren 'kullan' enum
namespace Foo {
class MyClass {
public:
enum MyEnum { X, Y, Z };
}
}
Ve şimdi, bu ad dışından, ben gibi şeyler yapabilmek istiyorum:
using Foo::MyClass.MyEnum;
MyEnum letter = MyEnum::x;
Ama görünüşe göre bu şekilde değil yapmak için? Bahse girerim bu mümkün, ancak benim notasyon yanlış ... Ayrıca Foo :: MyClass :: MyEnum kullanmayı denedim, ancak derleyici Foo :: MyClass'ın bir isim alanı olduğunu düşünüyor.
Eklendi: Gördüğünüz gibi, bu Bu doğrudan cevap vermez
Foo::MyClass::MyEnum value = Foo::MyClass::X;
"using" 'ı nereye koymaya çalışıyorsunuz? Bir sınıfın içinde mi yoksa? –
[enum ile bildirimi kullanarak?] Olası bir kopyası (http://stackoverflow.com/questions/438192/using-declaration-with-enum) –
@Kiril, İçinde OLMAYAN farklı bir sınıfta bulunan bir yöntemin içinde Foo ad alanı. – Jmoney38