我在理解如何分配到Test
陣列時遇到問題,如下所示:
int (*&Test)[10] = Parray;
Test
是對指向十個整數的指針的引用。
我得到的錯誤如下:如何分配數組int(*&Test)[10]?
error: incompatible types in assignment of 'int*' to 'int [10]'|.
我已經做了我的研究沒有完全理解這一點。我正在閱讀C++ Primer第5版。
int main() {
int arr[10];
int n = 5;
int *ptr1 = &n;
int arr2[10];
int *ptrs[10]; // ptrs is an array of ten pointers
// Parray points to an array of ten ints
int (*Parray)[10] = &arr;
// arrRef refers to an array of ten ints
int (&arrRef)[10] = arr2;
// Test is a reference to a pointer to an array of ten ints.
int (*&Test)[10] = Parray;
// How can I assign to Test[0..1..2..etc]?
// This is what I am trying to do:
Test[0] = ptr1; // Error here
return 0;
}
我該如何分配到Test[0]
等?
否測試是指向的10個整數的數組的指針的引用。 – texasbruce 2014-11-03 05:01:13
^它與'arr'類型相同。如果你想要一個指針數組,你需要使用你的「師生比」變量某處 – Aralox 2014-11-03 05:10:12
'ptr1'是未初始化的指針,它並不清楚你希望與'ptr1'和'ptrs'這裏 – 2014-11-03 05:14:11