C++中怎么给类赋char数组初值?

 

#include<iostream>

using namespace std;

class Person
{
public:
	Person(char* name, bool sex)
	{
		strcpy(m_name, name);
		m_sex = sex;
		cout << "Person类构造函数被调用!" << endl;
	}
	~Person()
	{
		cout << "Person类析构函数被调用!" << endl;
	}
private:
	char m_name[20];
	bool m_sex;
};
int main()
{
	Person person("张三", true);
	return 0;
}

 error C2664: “Person::Person(const Person &)”: 无法将参数 1 从“const char [5]”转换为“char *”

 message : 从字符串文本转换将丢失 const 限定符(请参阅 /Zc:strictStrings)

你把参数类型改成const char*就可以了

改这样:Person(const char* name, bool sex)

bool sex阅读得时候看不出true表示男女。可以改为bool isMale

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632