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

  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009