2012-06-16 1 views

risposta

4

Sì, static_assert() può essere posizionato ovunque può anche una dichiarazione. Ciò include il corpo di una classe:

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

    // ... 
};