CollisionType collision = getTileCollision(x, y)
iMngr->collision(&camera, myCursor, &collision, player, map->getMap(), enemyVector, currentInterface, 0);
Pre C++11, you can only initialise variables in this manner, not assign to them. I'm not familiar enough with C++11 initialiser lists to comment on whether it is legal in it. I would guess you'd need to write the appropriate assignment operator.
textColor = {0, 0, 0};
To fix it, use a constructor call, declare a temporary or make a factory function (useful if you do not control the type):
textColor = Color(0, 0, 0);
// or
Color temp = { 0, 0, 0 }
textColor = temp;
// or
Color make_colour(int r, int g, int b) {
Color color = { r, g, b };
return color;
}
textColor = make_color(0, 0, 0);