1、VS019 错误 C2664
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2664 “int sprintf(char *const ,const char *const ,…)”: 无法将参数 2 从“std::basic_string<char,std::char_traits,std::allocator>”转换为“const char *const ” Project D:\vsProject\OpenCVImage-main\Project\Project\ 2240
错误原因:
sprintf(filename, current_path_ + "/camer_cab/left%", goodFrameCount);
current_path_是std::string
类型,
把第二个参数直接写绝对路径: sprintf(filename, “D:/vsProject/xxx/xxx/camer_cab/left%”, goodFrameCount);
2、错误 C2872
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2872 “Algorithm”: 不明确的符号 (编译源文件 )
解决方式:
在头文件中using namespace cv
删除并添加到cpp文件中,.h文件需要用到的地方用cv::
代替
3、错误 C2065 未声明的标识符
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2065 “view_mode_”: 未声明的标识符
问题描述:已经添加相关头文件,也能够跳转到定义,但仍然出现这种错误,不过我的成员是继承自其他类,
解决办法:
修改头文件顺序:系统文件在最前面,然后是第三方库文件,最后是自己的头文件,总之头文件在包含顺序上不要成闭合的环状,他们结构顺序最好应该是树。
参考:error C2065: “xxxx”: 未声明的标识符
4、 C2504: 未定义基类
严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2504 “InspectAlgo”: 未定义基类 (编译源文件 )
折腾来折腾去还是要在.h
文件加上命名空间,笑死。。。
或者
class mainwindow : public QMainWindow,public hy::InspectTask, hy::InspectAlgo
error C2504: 未定义基类