0
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:

固定的。不知何故……魔法。

4

0 回答 0