VS2017(C++)问题一 无法将参数 1 从“const char [5]”转换为“char *”(已解决)

VS2017(C++)问题一 无法将参数 1 从“const char [5]”转换为“char *”(已解决)

深拷贝与浅拷贝学习过程中,遇到了无法将参数 1 从“const char [5]”转换为“char *”问题。检查发现代码应该没问题。应在VS2017中,将项目属性 >> 语言 >> 符合模式调成否就不会报错了(文章结尾附上了代码)

参考流程:
![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQ

在这里插入图片描述)

附录:代码

#define _CRT_SECURE_NO_WARNINGS
#include
using namespace std;

class Person
{

public:

Person()
{
}
Person(char * name, int age)
{
	m_Name =(char *) malloc(strlen(name) + 1);//开辟空间
	strcpy(m_Name,name);

	m_Age = age;
}
//浅拷贝,系统会提供默认拷贝构造,而且是简单的值拷贝

 char * m_Name;
int m_Age;

};

void test01()
{
Person p1(“张三”,10);
Person p2(p1);

}
//函数入口地址
int main()
{

test01();
system("pause");//阻塞

return EXIT_SUCCESS;//返回正常退出

参考博客:https://blog.csdn.net/Mr_Bobcp/article/details/89089185

猜你喜欢

转载自blog.csdn.net/weixin_42655134/article/details/107088809