replace function in std::string giving problems in C++
===

I am using C++ string functions in cocos2dx. I have the following string CorrectAns = "below".

    for(int i = 0; i<CorrectAns.size();i++)
    {
          CorrectAns.replace(i,i,"?");
    }

This function should return my string as "?????", but its returning only 4 charcters ie "????".

When I write like this,

    for(int i = 0; i<CorrectAns.size();i++)
    {
    if(i == 0)
        {
          CorrectAns.replace(i,i,"?");
        }
    }

It just crashes.
and works fine only when I write it as " CorrectAns.replace(i,i+1,"?");"

Why is the function working this way?? Can anyone help me please??