vector<Text> Game_Text;
Game_Text.push_back(Text("0",Game_Font[0],50));
cout<<Game_Text[0].getFillColor().r<<endl;
在代码中使用 C++11::块
运行时没有输出任何东西,它不应该输出 255 吗?如果Game_Text[0].getFillColor().r
被替换为,比如说,"test"
,它会正常输出test
。没有错误,完整的代码正在工作。
使用此方法是否可以仅输出对象的单个 r/g/b 值?
Color
成员r
的类型为Uint8
,这是unsigned char
的别名。
char
(以及signed char
和unsigned char
,以及基于这些类型的所有别名(由输出运算符<<
作为字符处理。
因此
cout<<Game_Text[0].getFillColor().r<<endl;
将尝试将r
打印为字符。如果其值与可打印字符不对应,则似乎不会打印任何内容。
要打印整数值,您需要将其转换为不基于char
的整数类型:
cout << static_cast<unsigned>(Game_Text[0].getFillColor().r) << 'n';