SORU
22 Temmuz 2009, ÇARŞAMBA


Başvurular dizileri yasadışı neden?

Aşağıdaki kod derleme değil.

int a = 1, b = 2, c = 3;
int& arr[] = {a,b,c,8};

C standardı bu konuda ne diyor?

P. S. ben bir başvuru içerir ve dizi kullanan bir sınıf bildirmek istiyorum, ama gerçekten yukarıdaki kod derleme değil neden bilmek istiyorum.


Düzenleme:Aşağıdaki kod benim sorum için iyi bir çözüm olur.


struct cintref
{
    cintref(const int & ref) : ref(ref) {}
    operator const int &() { return ref; }
private:
    const int & ref;
    void operator=(const cintref &);
};

int main() 
{
  int a=1,b=2,c=3;
  //typedef const int &  cintref;
  cintref arr[] = {a,b,c,8};
}

Mümkünse başvuruları dizisi oluşturmak istiyorsanız struct cintref yerine const int & kullanın.

CEVAP
22 Temmuz 2009, ÇARŞAMBA


C Standart 8.3.2/4:

Başvurular başvuru, olacaktırbaşvurular diziler yokve referanslar için işaretçiler.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009
  • Troy Hunt

    Troy Hunt

    29 EYLÜL 2011