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ş:
't C neden# başvurular iade deste...
Neden döngüsel başvurular zararlı olar...
Neden İddia ediyor.AreEqual(T) obj1, T...
Neden sistemidir.Web.Mvc Ekleyin Başvu...
Neden &; kontrol quot&; karakterler ya...