添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

使用Visio Studio写C++的项目时,定义如下形式的字符串char *text = “XXX”,总是会出现
E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体 这样的错误。
比如下面的代码段: 在这里插入图片描述
这样的错误解决起来完全就没有头绪呀。
然后……之后……搜索……(中间过程)

我就发现了几种解决方法,现在整理一下,省的以后忘了。
方法1:
把char* 改成const char*
这个问题其实在声明变量 char* 时改成 const char *声明就在主函数调用时就不会在报错了。
但是又出现了这样的错误。
在这里插入图片描述
所以我就发现了方法2。

方法2:在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言”中,把“符合模式”改为“否”就好了。
关于这个方法2,在Visio Studio2015之前是没有这个选项的,默认就是否。
所以改了,就好了……

一使用Visio Studio写C++的项目时,定义如下形式的字符串char *text = “XXX”,总是会出现E0144 “const char *” 类型的值不能用于初始化 “char *” 类型的实体这样的错误。比如下面的代码段:这样的错误解决起来完全就没有头绪呀。然后……之后……搜索……(中间过程)我就发现了几种解决方法,现在整理一下,省的以后忘了。方法1:把char*...
VS2017后期版本、VS2019版,对于直接利用 char * 类型 声明变量时会产生““const char *” 类型 不能 用于 初始化 char 类型 实体 ”的 错误 解决 办法有3种。 在 char *前加const关键字 const char *str1 = "ABC"; 对变量进行强转 char *str1 = ( char *)"ABC"; 对变量先进行字符数组...
在声明变量 char * 时改成 const char *即可 原文链接:const char * 类型 不能 用于 初始化 char * 类型 实体 _触动人生的博客-CSDN博客_不能 用于 初始化 char 类型 实体 char * image_window = "Source Image"; char * result_window = "Result window"; 查了查资料,可能的原因是在VS2017版本 使用这种 char *的表达方式会造成程序崩溃,所以VS2017对其进行了控件管理。 解决 方案: 1、先将字符使用字符数组进行存储,再使用指针 char image[] = "Source Image"; char result1[]
C++ 错误 提示: 无法将参数 1 从“const char [7]”转换为“ char *” 或“const char *” 类型 不能 用于 初始化 char *” 类型 实体 用VS2017或VS2019写C++代码时,发生以下两个 错误 之一时,均可按以下两个 方法 解决 char str = "hello world"; // 错误 代码 双引号 char str = ( char )"hello world";//正确代码 使用强制 类型 转换 先用字符数组进行存储,然后再使用指针: char str[] = "hello world"; 在visual studio ,在项目上右键,在弹出菜单上选择“属性”,选择“C/C++”,然后在“语言” ,把“符合模式”
报错信息提示了一个 类型 不匹配的问题。在C++ ,const char * const* 和 char ** 是不同的 类型 ,不能直接进行赋 初始化 操作。 const char * const* 表示一个指向常量字符指针的常量指针,也可以理解为一个指向指针的指针,其 指针指向的字符是常量,指针本身也是常量。 而 char ** 表示一个指向字符指针的指针,其 指针指向的字符可以修改,指针本身也可以修改。 由于 类型 不匹配,所以不能将 const char * const* 类型 直接 用于 初始化 char ** 类型 的变量。 如果你需要将 const char * const* 类型 赋给 char ** 类型 的变量,可以使用 const_cast 进行 类型 转换。但是需要注意,这样的 类型 转换可能会导致潜在的问题,因为它涉及到对常量数据的修改。