// Trac ticket // https://cforall.uwaterloo.ca/trac/ticket/289 // Invariant Failure in Static Assertion #define SIZE 5 static char array[] = { 'a', 'b', 'c', 'd', 'e' }; // This pattern is fine: static_assert( sizeof(array) == SIZE * sizeof(char), "Wrong Array Size" ); // This pattern fails invariant checks: static_assert( SIZE == sizeof(array) / sizeof(array[0]), "Wrong Array Size" ); int main(int argc, char * argv) { printf("done!\n"); }