포인터형 변수와 정수형 상수의 연산
글쓴이: 최명수 (13576)@Google / 작성시간: 화, 2018/10/09 - 3:39오후
C언어에서
int *ptr=0x0010;
ptr+1;
이렇게 하면 Visual Studio에서
warning C4047: '초기화 중': 'int *'의 간접 참조 수준이 'int'과(와) 다릅니다.
라고 뜨던데
이 경고 어떻게 숨길 수 없을까요?
에러는 안 뜨고 경고만 떠서 해도 되는 짓거리인지는 알겠는데...
Forums:
참고해보세요.
//
묵시적 형변환이 안되는경우.
명시적 형변환으로 하시면 됩니다.
//
Visual Studio 6.0 에서는 오류로 표시됩니다.
C:\Users\IEUser\Desktop\test\test.cpp(10) : error C2440: 'initializing' : cannot convert from 'const int' to 'int *'
Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
//
http://codepad.org/ZVDHMqSf
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아.
처음에 오류가 ptr+1;에서 나오는 줄 알았더니 아니었네요... 줄 수를 헷갈렸네요 ㅎㅎ
그러고 보니 포인터 변수에 정수가 들어가니 컴파일러도 놀랐겠네요
감사합니다!
참고해보세요.
ptr = ptr+1; 로 하면. 4가 추가 됩니다.
http://codepad.org/W6YOqvDl
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기