you can’t have your cake and eat it too vs you can’t eat your cake and have it too : Common Errors in English

About you can’t have your cake and eat it too vs you can’t eat your cake and have it too

The most popular form of this saying—“You can’t have your cake and eat it too”— confuses many people because they mistakenly suppose the word “have” means “eat,” as in “Have a piece of cake for dessert.” A more logical version of this saying is “You can’t eat your cake and have it too,” meaning that if you eat your cake you won’t have it any more. The point is that if you eat your cake right now you won’t have it to eat later. “Have” means “possess” in this context, not “eat.”
Lightning fast vocabulary building for SAT, ACT, GRE, GMAT and CAT