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

  • Autodesk 3ds Max Learning Channel

    Autodesk 3ds

    23 HAZİRAN 2010
  • Propaganda Time

    Propaganda T

    19 EYLÜL 2010
  • TheMasterOfHell100

    TheMasterOfH

    13 AĞUSTOS 2011