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