No. The compliation process destroys all metadata, including variable names, and the optimisation process makes it difficult to recover even a pseudocode replica of the original source.
Here's a highly simplified example. Let's say you write "foo++", where foo is an int. Depending on the compiler, this could compile to any of the following:
inc dword ptr [esp+12h] - foo is kept as a local on the stack
inc dword ptr [00000f00h] - foo is a heap variable
add dword ptr [00000f00h], 1 - another way to increment
mov eax, dword ptr [esp+12h]; inc eax - move from the stack in to eax, then increment
- etc...
The possibilities are practically endless.
Your best bet is to look into something like Hex-Rays Decompiler, though it isn't cheap. It works with IDA to produce pseudo-C code, which you can use to discover how particular functions and routines work.