jinwoongok   4년 전


책으로 막 포인터 처음을 내딛고 있는 중입니다!

invalid conversion from 'int' to'int*' [-permissive]가 뭔가요

invalid conversion from 'int' to 'double*' [-permissive]가 뭔가요??

라인 5,6에서 오류가 떠서요

책을 그냥 보고 타이핑했을 뿐입니다..!

qahira   4년 전

이런거 답해 드려도 될라나 모르겠지만,

일단 답을 드리자면,

ptr1과, ptr2는 포인터 변수이지만,

0x0010은 그저 숫자일 뿐입니다.

포인터형 변수에 정수를 넣을 수 없다는 것입니다.

책에서도 실제로 작동시켜보라고 준 건 아닐겁니다. 

저기서 핵심은 작동하느냐 마느냐가 아니라 포인터의 산술은 저렇게 이루어진다는 것이니까요.

저게 배열의 인덱스 연산하고도 어느정도 연관이 있기도 합니다.


참고로 clang이나 gcc 컴파일러에선 작동될수도 있습니다.

비쥬얼 C가 좀더 타입에 엄격한 경향이 있습니다.
 

jinwoongok   4년 전

좋은 설명 감사합니다!

댓글을 작성하려면 로그인해야 합니다.