• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

연습문제 질문드립니다.

22.05.10 15:20 작성 조회수 147

0

https://www.learncpp.com/cpp-tutorial/chapter-8-summary-and-quiz/

여기서 3번째  문제

#include <iostream>

 

void print(long x)

{

    std::cout << "long " << x << '\n';

}

 

void print(double x)

{

    std::cout << "double " << x << '\n';

}

 

int main()

{

    print(5);

 

    return 0;

}

오류가 나는 까닭이 int에서 long이나 double로의 변환이 numeric conversion이라는데, 

int to double은 type이 바꿔서 이해가 갑니다.

하지만, int to long 은 같은 정수형에서 자료형의 크기가 작은 것에서 큰 것으로 변환되는 numeric conversion인 것 같은데,

해설에서는 numeric conversion이라는 이유가 궁급합니다.

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.05.11

안녕하세요,

아래 링크를 보시면 

numeric conversion의 유형이 나와있습니다.

https://www.learncpp.com/cpp-tutorial/numeric-conversions/

 

아래를 보시면 제시하신 코드 또한 numeric conversion의 한 예라는 것을 알 수 있습니다.