7gugu’s blog

日本分站

VS2017 char *p=“”不可用的解决办法

起因:

今天在做c语言的功课时,发现旧的教材(基于vc++6.0)使用了如下的代码,对字符串指针进行赋值.

 

[cpp] char *p="Hello World"; [/cpp]

但是编写到VS2017上时报了下面的一个错误.

直接导致编译失败,经过了baidu的查找后,知晓了具体原因.

解决办法:

应把源代码修改成如下的代码. [cpp] //原代码 char p="Hello world"; //修改后的代码 const char p="Hello world"; [/cpp] 主要原因是因为在新版本中增强了对字符串指针的安全性,通过使用静态声明,来防止越界