http://blogs.msdn.com/vcblog/archive/2010/04/06/c-0x-core-language-features-in-vc10-the-table.aspx adresinde, 2010 RC'de uygulanan C++ 0x özelliklerini gösteren bir tablo bulunmaktadır. Bunların arasında forwarding enum ve güçlü yazılan enumlar listelenir, ancak "parsiyel" olarak listelenir. Makalenin ana metni, bunların ya eksik ya da standart olmayan bir şekilde uygulandığı anlamına geldiğini söylüyor.ileri/güçlü enum
Yani VS2010RC var ve C++ 0x özellikleri ile oynamaktayım. Bunları anlayamıyorum ve bu iki özellik hakkında herhangi bir belge bulamıyorum. En basit girişimler bile derlenmez.
enum class E { test };
int main() {}
fails with:
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(518): error C2332: 'enum' : missing tag name
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(518): error C2236: unexpected 'class' 'E'. Did you forget a ';'?
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(518): error C3381: 'E' : assembly access specifiers are only available in code compiled with a /clr option
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(518): error C2143: syntax error : missing ';' before '}'
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(518): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
int main()
{
enum E : short;
}
Fails with:
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(513): warning C4480: nonstandard extension used: specifying underlying type for enum 'main::E'
1>e:\dev_workspace\experimental\2010_feature_assessment\2010_feature_assessment\main.cpp(513): error C2059: syntax error : ';'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Yani onları "kısmen" bitti bu özelliği çağıran haklı sağladı bazı tamamen standart dışı bir uygulama olmalıdır görünüyor. Yönlendirme ve güçlü tip özelliğine erişmek için bu kodu nasıl yeniden yazarım?
kullandığım çalışılıyor yeni özellikler hakkında bazı ayrıntılı bilgiler:
Kesinlikle yazdığınız çeteleler: çeteleler http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdfİleri ifadesi: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
Not. İkincisindeki E, ilkinde olduğu gibi aynı E'yi beyan etme girişimi değildir. –