I\'m working on a little 2D platformer/fighting game with C++ and SDL, and I\'m having quite a bit of trouble with the collision detection.
The levels are made up of
XNA's 2D platformer example uses tile-based collision as well. The way they handle it there is pretty simple and may useful for you. Here's a stripped down explanation of what's in there (removing the specific-to-their-demo stuff):
It's in player.cs in the HandleCollisions() function if you grab the code and want to see what they specifically do there.