Hi, I am trying to initialize a 2D array of structs in C++, but am getting an error. Can someone please tell me what am I doing wrong? I have rechecked the braces and they seem to be fine.
My code:
struct CornerRotationInfo {
bool does_breed;
int breed_slope;
bool self_inversion;
int self_slope;
inline CornerRotationInfo(bool db, int bs, bool si, int ss) : does_breed(db), breed_slope(bs), self_inversion(si), self_slope(ss) {};
};
#define NO false
#define YES true
#define R 1
#define F -1
#define H 0
static const CornerRotationInfo corner_rot_info[3][8] = {
// { 0, 45, 90, 135
// 180, 225, 270, 315 }
{
{ NO, F, NO, F }, {YES, F, NO, H }, {YES, H, NO, R}, {NO, R, YES, R },
{ NO, F, NO, F }, {YES, F, NO, H }, {YES, H, NO, R}, {NO, R, YES, R }
}, // Falling
{
{ NO, H, NO, H }, {YES, F, NO, R }, {NO, H, YES, H }, {YES, R, NO, F },
{ NO, H, NO, H }, {YES, F, NO, R }, {NO, H, YES, H }, {YES, R, NO, F }
}, // Horizontal
{
{ NO, R, NO, R }, {NO, F, YES, F }, {YES, H, NO, F}, {YES, R, NO, H },
{ NO, R, NO, R }, {NO, F, YES, F }, {YES, H, NO, F}, {YES, R, NO, H }
} // Rising
};
#undef NO
#undef YES
#undef R
#undef F
#undef H
The error I am getting is:
Transformation.C:72: error: brace-enclosed initializer used to initialize `const CornerRotationInfo'