The problem was not so much about having reserves, it was about committing them too soon, and sending them straight into the trap. Even after that, there were possibilities for a counter-attack, but at that point Gamelin seems to have dropped into a state of denial, and for a full critical day there was no effective overall control of the defense being orchestrated from above. After that, the situation changed so rapidly that by the time updates reached the French HQ, the information was already obsolete, and then even further outdated by the time the fresh orders based on it flowed to the front. There's an official military term for that intel-to-order loop time, but I'm not finding it here in this cluttered skull of mine.
In sharp contrast, the Germans gave the local commanders enough free reign to take advantage of opportunities as they saw them, leaving the French units sitting helplessly while they waited for fresh orders. The German approach worked ideally in just such a confused situation, not so well deep in the vast expanses of the Soviet Union where it took time to prepare and schedule the arrival of ammunition and supplies before undertaking any significant offensive, and units had to cooperate more closely to avoid leaving their flanks uncovered.
In sharp contrast, the Germans gave the local commanders enough free reign to take advantage of opportunities as they saw them, leaving the French units sitting helplessly while they waited for fresh orders. The German approach worked ideally in just such a confused situation, not so well deep in the vast expanses of the Soviet Union where it took time to prepare and schedule the arrival of ammunition and supplies before undertaking any significant offensive, and units had to cooperate more closely to avoid leaving their flanks uncovered.