-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
형변환 관련 질문 있습니다
21.11.24 21:25 작성 조회수 105
0
void* 에서 형변환을 하는 것을 보고
포인터에서 정수나 실수 등으로 형변환
또는
정수나 실수 등에서 포인터로 형변환 하면 어떻게 될까 싶어서 해봤더니
invaild type conversion 이라고 하면서 오류가 뜹니다
왜 그런건가요?
아래는 형변환을 시도해 본 코드입니다
int value = 3;
int* ptr = &value;
static_cast<int>(ptr);
void* ptrr = &value;
static_cast<int>(ptrr);
static_cast<int*>(value);
static_cast<void*>(value);
답변을 작성해보세요.
1
안소
2021.11.25
static_cast 은 좀 더 엄격하고 논리적으로 변경이 가능한 경우에만 형변환 해줍니다.
포인터를 정수로 변환한다던가 하는 경우엔 invaild type conversion 를 뱉으면서 안해줍니다.
https://stackoverflow.com/questions/2473628/c-cant-static-cast-from-double-to-int
답변 1