Yes, clearly this:
fscanf(Map, "%d", &Map.tile[y][x]);
&Map.tile[y][x] != 0
Are the problems. Could the OP please clarify exactly where the map data is supposed to be being stored? There seems nothing in the Sprite class to store this info, perhaps Map is a global variable? If so, you are shadowing it with the local Map in the load method. But I can't think of any implementation of the global that would make the syntax as posted meaningful.
[On another note] There is no point putting those #define's inside the class like that. They won't be contained in the class namespace. You'd be far better to use static const members, but I'm not sure why these are being defined inside a Sprite class since they relate to the map anyway. There is some confusion going on here with naming of things I think.
Sorry to everyone wondering where the it's actually throwing the error, I posted this before I went to bed and kinda spaced it. Both of those lines are throwing the error. I'm not to confident on using #defines, as Im not very familiar with them, so if there is a better way to achieve my goal, i'm more than open to suggestions/ideas or tuts. No map is not a global variable. This is being done in the sprite class because I didn't want to create any unnecessary classes.