SORU
30 EKİM 2012, Salı


Sınıf { int i;} niye; tamamen standartlarla uyumlu değil mi?

Bu bir takip soru.

previous question, @JohannesSchaub-litb aşağıdaki kodu olduğunu söyledideğiltamamen standartlarla uyumlu:

class { int i; };  //unnamed-class definition. § 9/1 allows this!

ve sonra da sözlerine ekledi

dilbilgisi açısından geçerli olmakla birlikte, böyle bir sınıfı kapsayan kapsamı içine en az bir isim bildirmek zorunda olduğu kural kırıyor.

Bunu gerçekten anlayamadım. Adı ne hakkında konuşuyor?

Kimse bu konuda daha fazla (tercihen Standart alıntı) açıklayabilir mi?

CEVAP
30 EKİM 2012, Salı


Standart Madde 9 class {public: int i;} (son bir virgül eksikliği not) bu, çünkü sağlardecl-belirtici-seqisimsiz bir sınıf için başka bir kullanılabilir bir typedef veya değişken bildirimi gibi inşa. class {public: int i;}; sorun (en sona noktalı virgül artık mevcut olduğunu unutmayın) bu sınıf belirtimi şimdi bir beyanla olur. Bu 7, standart paragraf 3 yan başına yasadışı bir bildirimi:

İsimsiz bir bit alanı (9.6) Bildirgesi hariç bu gibi durumlarda, ve,decl-belirtici-seqprogramın içine bir veya daha fazla isimleri takdim eder, ya da adı önceki bir bildirim tarafından sunulan redeclare eder.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Gee Cee

    Gee Cee

    1 AĞUSTOS 2009
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • TheDroidDemos

    TheDroidDemo

    15 ŞUBAT 2011