我在解决这段代码时遇到了麻烦。我已经包括了:
#Include <string>
第一次尝试尝试:
for(int i = 0; i < 15; i++)
{
if(i == Scroll)
{
Text[i] = "~y~[ " << Text[i] << " ~y~]";
Text[i].R = 255; Text[i].G = 255; Text[i].B = 0; Text[i].A = 255;
}
else
{
Text[i].R = 255; Text[i].G = 255; Text[i].B = 255; Text[i].A = 255;
}
}
第二次尝试尝试:
for(int i = 0; i < 15; i++)
{
if(i == Scroll)
{
std::string br1;
std::string br2;
br1 = "~y~[ ";
br2 = " ~y~]";
Text[i] = br1 << Text[i] << br2;
Text[i].R = 255; Text[i].G = 255; Text[i].B = 0; Text[i].A = 255;
}
else
{
Text[i].R = 255; Text[i].G = 255; Text[i].B = 255; Text[i].A = 255;
}
}
他们都没有看到工作,我在&#34;&lt;&lt;&#34;说,&#34;没有操作员&#34;&lt;&lt;&#34;匹配这些操作数&#34;
答案 0 :(得分:2)
两个问题。
问题#1:如果Text[i]
一个string
,您就拥有:
Text[i] = br1 << Text[i] << br2;
<<
通常用于流级联或位移等。除非您已经定义了一个,否则<<
运算符不会在两边都有string
,因此会出错。
你可能意味着:
Text[i] = br1 + Text[i] + br2;
然而,问题#2 Text[i]
似乎不是一个字符串,因为你有:
Text[i].R = 255;
等等。因此,如果Text[i]
应该是某种字符串,那么您需要将其设为string
;如果您尝试生成Text[i]
类型的字符串,则需要定义可以执行此操作的函数或运算符。 C ++中的任何内容都没有神奇地将任意类和结构转换为字符串。
答案 1 :(得分:1)
对于串联字符串,请使用+ not&lt;&lt;
Text[i] = "~y~[ " + Text[i] + " ~y~]";