C++错误:“const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
·
在VS2017中使用opencv编写C++程序时出现如下错误:
报错代码如下:
char* image_window = "Source Image";
char* result_window = "Result window";
查了查资料,可能的原因是在VS2017版本中使用这种char*的表达方式会造成程序崩溃,所以VS2017对其进行了控件管理。
解决方案:
1、先将字符使用字符数组进行存储,再使用指针
char image[] = "Source Image";
char result1[] = "Result window";
char* image_window = image;
char* result_window = result1;
2、在前面加上const
const char* image_window = "Source Image";
const char* result_window = "Result window";
3、右键project -> 属性 -> C/C++ -> 语言 -> 符合模式:否
4、对变量进行强转
char* image_window =(char*) "Source Image";
char* result_window = (char*)"Result window";
更多推荐
已为社区贡献5条内容
所有评论(0)