In the 32-bit version, programs are limited to about 1.5 GB of memory usage, in total. Microsoft claims you can use 2GB per program, but the system OS reserves space for itself with each one.
In this case, it sounds as if you’re trying to allocate a 72MB block of memory for some purpose, and the system isn’t finding that large of an open block of memory, so I’d guess whatever program you’re compiling is rather large in nature.
The reason why it works in 64-bit versions is simply because you don’t have that 1.5GB memory limit; your program can use as much as your PC has available, including swap size.
The only time I’ve seen cc1plus.exe toss an error like that was with excessive use of PRINT statements inside a program. Depending on how it’s written, a single PRINT command can translate into a hundred lines of c-code. If you can share the code, we might be able to help sort out what the issue is with it.