제가 뭘 모르고있는질 몰라서 자세히 질문을 못하겠네요... 죄송합니다
int a[50] = {0};
function(a);
void function(int *a[50])
{
int i;
int b;
int c;
for(i = 0 ; i < 50 ; i++)
{
c = b-a[i];
}
}
이런식으로 했는데...
b-a[i] 부분에서 에러가나네요;
에러 메세지는 "error C21113: '-' : 포인터는 다른 포인터에서만 뺄 수 있습니다." 이라고 뜨고요
그래서 조금 바꿨어요.
int a[50]
function(a);
void function(int *a[50])
{
int i;
int a2;
int b;
int c;
for(i = 0 ; i < 50 ; i++)
{
a2 = a[i]
c = b-a2;
}
}
이렇게하니까 되네요...
a 배열의 주소를 보내서 포인터로 받고, a[i]를 연산에 사용하려니까 첫번째 지문처럼 오류가납니다. ㅠ
그래서 두번째처럼 a2에 a[i]의 값을 넣어서 연산에 사용하니까 문제없이 되고요....
질문의 결론은... "포인터는 다른 포인터에서만 뺄 수 있습니다"가 무슨소리죠?
포인터로 불러온 배열은 연산에 이용 못한다는 소리인가요?