std :: string构造函数抛出std :: out_of_range异常

3 c++ exception stdstring

使用VS 2012.

我正在制作刽子手.无论如何,我有一个函数来获取一个std :: string,其长度与猜测的当前单词的长度相同,但是用下划线填充.(如,空白).

功能:

std::string getBlankWord(std::vector<std::string> words, int currentWordIndex)
{
    return std::string(words[currentWordIndex], '_');
}
Run Code Online (Sandbox Code Playgroud)

它被调用的行:

currentGuessingString = getBlankWord(words, index);
Run Code Online (Sandbox Code Playgroud)

单词是std :: vector,index是int.words.size()= 22,index = 0,所以我不知道如何调用,在这种情况下,单词[0]可能是罪魁祸首.无论如何,这一行上的某些内容会抛出std :: out_of_range异常,但我无法找到它.

谢谢.

Jer*_*fin 5

我觉得你真正想要的更像是:

return std::string(words[currentWordIndex].size(), '_');
Run Code Online (Sandbox Code Playgroud)