Recently I have come across this error, I have found what is causing the error but don;t know how I fix it. From what I can tell the variable value is either corrupt or I have seen it mention that what I am trying to assign to the value may be too large. :s I don't believe std::vector has a size limit though.
This occurs after the creation of the third big integer
Actually that takes a hexadefimal string that can be an arbitary length. Can you explain why i would need to use std:string when i am storing bigintegers as a vector of unsigned char?
Since there's only enough memory allocated for a single char, all the rest of it will be stored in other memory. If that other memory is being used to store other data, that other data will be trashed. If you are lucky, the program will crash and you will know you have trashed it. If you are unlucky, you won't know that you have trashed it. The more memory you trash, the greater the chance of trashing something important and finding out.
This is known as "buffer overrun".
A C++ string takes care of its own memory, so this doesn't happen with a C++ string.