5
"정적 const"데이터 멤버가있는 여러 클래스가 있습니다. static_assert를 사용하여 컴파일 타임에 값을 확인하는 방법을 알고 싶습니다. static_assert를 직접 클래스 본문에 넣을 수 있습니까? (모든 생성자에 내 static_assert를 두는 것은별로 실용적이지 않습니다.)정적 const 클래스 데이터 멤버를 확인하는 정적 어설 션?
"정적 const"데이터 멤버가있는 여러 클래스가 있습니다. static_assert를 사용하여 컴파일 타임에 값을 확인하는 방법을 알고 싶습니다. static_assert를 직접 클래스 본문에 넣을 수 있습니까? (모든 생성자에 내 static_assert를 두는 것은별로 실용적이지 않습니다.)정적 const 클래스 데이터 멤버를 확인하는 정적 어설 션?
예, static_assert()
은 선언이있는 모든 곳에 배치 할 수 있습니다. 여기에는 수업의 본문이 포함됩니다.
class C {
public:
enum E {
A, B, C,
NumEes
};
constexpr Foo foos[] = { {...}, {...}, {...} };
static_assert(NumEes == sizeof foos/sizeof *foos, "size mismatch");
// ...
};