for (unsigned int i = 0; i < text.length(); i++)
{
if (text.at(i) != '$')
{
currentLine += text.substr(i, 1);
// replacing it with currentLine="blabla"; still gives errors
}
else
{
// currentLine = "blabla"; -- no errors
drawText(currentLine, x, y + lineID * 10);
lineID++;
currentLine = "";
}
}
作用是画一个字符串多线,$代表断线。
除非在绘图之前设置 currentLine,否则我会收到一个错误,即无法评估我的 screen.format.palette.ncolors 和颜色。
让我们假设 drawText 函数工作正常。那么是什么导致了这个错误呢?除了这段代码,没有什么会改变 currentLine。
编辑:
currentLine(这是一个 std::string)似乎是空的。currentLine+" " 但是返回正确的字符串加上空格。什么可能导致它?
编辑#2:
固定的。不知何故……魔法。