在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";

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐