C++:cannot convert from 'char [9]' to 'char [20]'
来源:百度知道 编辑:UC知道 时间:2024/06/14 23:18:13
struct Record
{
char name[20];
int score;
};
class Team
{
public:
int num;
Record *p;
};
void main()
{
Team Team1;
Team1.num=10001;
Team1.p->name="WangFeng";
Team1.p->score=88;
}
{
char name[20];
int score;
};
class Team
{
public:
int num;
Record *p;
};
void main()
{
Team Team1;
Team1.num=10001;
Team1.p->name="WangFeng";
Team1.p->score=88;
}
在struct Record 中,name[20]定义了一个常量地址,是不可以修改的。只能通过strcpy等方式进行赋值。
而Team1.p->name="WangFeng"中,将一个常量地址进行修改,所以编译器说明错误。
可以如下定义:
struct Record
{
char *name;
int score;
};
class Team
{
public:
int num;
Record *p;
Team()
{
p = new Record();
}
~Team()
{
delete p;
}
};
int main(int argc,char *argv)
{
Team Team1;
Team1.num=10001;
Team1.p->name="WangFeng";
Team1.p->score=88;
}
Team1.p->name="WangFeng"; 这里WANGFENG串只有9长度,而name是20个长度,不匹配
matlab中conv()是什么意思?
scandisk cannot examine drivc c 这是什么意思
cannot create file C:\boot.ini
再dos下输入了format c:为什么提示cannot
scandisk cannot examine drive c:译文是什么意思呢
重装系统时,不能格式化c盘cannot format a network driver
format C:/q时系统说cannot format a network drive
the Europe that is now forming cannot be anything ...翻译05C
C++:cannot convert from 'char [9]' to 'char [20]'
打开E盘和C盘时提示:cannot find 'driver cd'