• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

초기화 관련해 질문 드립니다

22.06.07 16:49 작성 조회수 187

0

변수를 초기화 한 후에 unsigned int의 사이즈를 대입하면 정상적으로 컴파일 되지만 초기화 할때부터 대입하면 왜 경고가 생기는지 궁금합니다

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.06.07

코드에 문제가 있다기 보다는

문제가 생길 가능성이 있다고 귀띔해주는 케이스라고 볼 수 있습니다.

(실제로 제 컴파일러에서는 해당 경고 문구는 뜨지 않습니다)

 

이는 max()은 할당 직후 값이 변하지 않는 constexpr를 반환하기도 하는데,

질문자님 코드와 같이 초기화 할때부터 대입하면 

할당한 순간에 max() 타입과 맞지 않은 변수일 수도 있다는 의미입니다.

 

참고 링크1 https://docs.microsoft.com/ko-kr/cpp/code-quality/c26498?view=msvc-170

참고 링크2 https://stackoverflow.com/questions/64557407/simple-constexpr-c26498-warning-and-c2131-error

 

질문자님 코드에 문제가 있어 보이지는 않습니다.