C++: static_assert
개요
- 컴파일 타임에 assertion 검사
- C++11
static_assert ( bool-constexpr , message )
- C++17
- static_assert ( bool-constexpr )
- bool-constexpr이 true면 영향이 없고 false면 컴파일 에러 발생
예제
- 코드
int main() {
static_assert(true, "111");
static_assert(false, "222");
static_assert(true);
static_assert(false);
return 0;
}
- 실행 결과
main.cpp: In function ‘int main()’:
main.cpp:3:23: error: static assertion failed: 222
3 | static_assert(false, "222");
| ^~~~~
main.cpp:6:23: error: static assertion failed
6 | static_assert(false);
|