如何更改for循环中的字符串
How do I change a string in a for loop
所以我试图让变量 "name" 等于 "slider1" 但它给了我
错误
initialization with '{...}' expected for aggregate object
代码:
for (int TpNum = 1; TpNum < 2; TpNum++)
{
char name[8] = ("slider" + TpNum );
Enemy name(5, 5, 'r', name);
}
数组是聚合类型,因此用 initializer list.
初始化
更虚假的是您尝试添加 char*
s。您应该使用 C++ std::string
s,但这里是您如何使用 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");
所以我试图让变量 "name" 等于 "slider1" 但它给了我 错误
initialization with '{...}' expected for aggregate object
代码:
for (int TpNum = 1; TpNum < 2; TpNum++)
{
char name[8] = ("slider" + TpNum );
Enemy name(5, 5, 'r', name);
}
数组是聚合类型,因此用 initializer list.
初始化更虚假的是您尝试添加 char*
s。您应该使用 C++ std::string
s,但这里是您如何使用 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");