使用VS2019的时候会出现这样的错误

测试出错代码
#include<iostream>
#include<stdio.h>
#include <string.h>
using namespace std;
char* func(char* str1,char* str2)
{
if (strlen(str1) >= strlen(str2))
{
return str1;
}
else
{
return str2;
}
}
int main()
{
char* s1 ="C Language";
char* s2 = "C is very great!";
char* longstr = func(s1, s2);
cout << "Long string: " << longstr << endl;
return 0;
}
报错代码:
char* s1 ="C Language";
char* s2 = "C is very great!";

解决方案
1. 可以先用字符数组存储,再将数组名赋值给指针。
char m_s1[] = " C Language";
char m_s2[] = " C is very great!";
char* s1 = m_s1;
char* s2 = m_s2;
2.对变量进行强转
char* s1 =(char*)"C Language";
char* s2 =(char*)"C is very great!";
3.在变量前加const
const char* s1 ="C Language";
const char* s2 = "C is very great!";
4.在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。
