Consider this simple code:
using namespace std;
cout << voidptr << endl;
When you compile this program, the compiler warns you that
voidptr is used without having been initiaslized in this line: `cout << voidptr << endl;
When you run this program you get this error:
Which again tells you that
voidptris being used without beiing initialized. This can hardly be clearer.
In C and C++ local variables are not initialized, they contain what ever value has been in memory before, the values are undeterminate. Now when you run the debug version of a program, you get this debug message, because the compiler is kind enough to show you that you are using an uninitialized variable.
Try to run the release version of the program, you won't get any more error, but some apparently random value will be displayed.