Bu işlev bir int kabul eder ve bu değerle 10 inçlik bir diziyi doldurur ve bu diziye bir işaretçi döndürür. Aynı şeyi nasıl yapabilirim, ancak bir diziye referans verebilirim?Sabit boyutlu bir diziye başvuru getiren bir işlev tanımlayabilir miyim?
int (*g(int n))[10]
{
int (*ptr)[10] = (int (*)[10])malloc(sizeof(int) * 10);
for (int i = 0; i < 10; i++) {
(*ptr)[i] = n;
}
return ptr;
}
şey
int (&h(int n))[10]
{
// How to do this
int (&ref)[10] = ???;
for (int i = 0; i < 10; i++) {
ref[i] = n;
}
return ref;
}
Başvuru için başvuruda bulunmak istediğiniz bir diziye ihtiyacınız olacak ... – immibis
std :: array yerine, daha temiz ve daha 'idiomatic' C++. –