我正在尝试使用方法glutStrokeCharacter使用以下代码绘制一个int到屏幕
int fuel = 400;
std::string t = std::to_string(fuel);
char *fueltxt;
for (fueltxt = t; *fueltxt != '\0'; fueltxt++)
{
glutStrokeCharacter(GLUT_STROKE_ROMAN , *fueltxt);
}
我正在使用XCode,我在for循环中遇到以下错误,特别是在fuel txt = t
“从不兼容的类型'std :: string'(又名'basic_string,allocator>')分配给'char *'
答案 0 :(得分:3)
使用迭代器执行C ++方式:
int fuel = 400;
std::string t = std::to_string(fuel);
for (auto c = t.begin(); c != t.end(); ++c)
{
glutStrokeCharacter(GLUT_STROKE_ROMAN, *c);
}
如果您的编译器支持它们,您甚至可以使用基于范围的for循环:
int fuel = 400;
for (char c : std::to_string(fuel))
{
glutStrokeCharacter(GLUT_STROKE_ROMAN, c);
}