所以我试图让变量“name”等于“slider1”,但它给了我 错误
初始化为'{...}'期望聚合对象
代码:
for (int TpNum = 1; TpNum < 2; TpNum++)
{
char name[8] = ("slider" + TpNum );
Enemy name(5, 5, 'r', name);
}
答案 0 :(得分:0)
数组是聚合类型,因此使用initializer list初始化。
您尝试添加char*
时更加虚假。你应该使用C ++ std::string
,但是你可以用C字符串来完成它。
for (int TpNum = 1; TpNum < 2; ++TpNum)
{
char[8] name;
sprintf(name,"slider%d",TpNum);
Enemy name(5, 5, 'r', name);
}
您需要包含<stdio.h>
才能使用sprintf
。
修改强>
另请注意,您的循环只会执行一次,所以您可以说
Enemy name(5, 5, 'r', "slider1");