#include <iostream>
using namespace std;
int func(int arg0, int *arg1, int *arg2);
int main() {
int *b;
int z;
int a[10];
z = func(*a[0], &a[z], b+a[4]);
}
上面的代碼給了我一個錯誤「一元'*'(有'int')」的無效類型參數。我知道當在聲明中使用*
時會創建一個指針,當它與變量名一起使用時,它將獲取存儲在該指針處的值。在函數func()
中,它需要3個參數,1個int和2個int指針。我認爲傳遞給函數的第一個參數給了我一個錯誤,但我不明白爲什麼。 *a[0]
不應得到a
數組中第一個被聲明爲int的元素的值嗎?爲什麼這個指針沒有得到數組索引的值?
'*'不是'int'的一元運算符。這正是'a [0]'的意思。 – WhozCraig 2014-10-02 04:58:02