2012-06-16 45 views

Trả lời

4

Có, static_assert() có thể được đặt ở bất kỳ nơi nào có thể khai báo. Nội dung đó bao gồm nội dung của một lớp học:

class C { 
public: 
    enum E { 
     A, B, C, 
     NumEes 
    }; 
    constexpr Foo foos[] = { {...}, {...}, {...} }; 
    static_assert(NumEes == sizeof foos/sizeof *foos, "size mismatch"); 

    // ... 
}; 
Các vấn đề liên quan