Model::operator =(cv::d nn::d nn4_v20210301::Model &&)' : 不是可以默认的特殊成员函数



我是OpenCV的新手。我使用VSexpress2013作为一个c++应用程序,它只加载并显示一些图像。

这是我写的代码

#include "iostream"
#include "stdio.h"
#include"opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(){
cout << "hello world";  
Mat image1 = imread("F:/data/S1.jpg")
imshow("first image",image1);
return 0;
}

但当我运行它时,我会得到这个错误:

7   IntelliSense: invalid type for defaulted assignment operator    
Error   3   error C3646: 'noexcept' : unknown override specifier    
Error   4   error C3646: 'noexcept' : unknown override specifier    
Error   6   error C3646: 'noexcept' : unknown override specifier    
Error   1   error C2610: 'cv::dnn::dnn4_v20210301::Model::Model(cv::dnn::dnn4_v20210301::Model &&)' : is not a special member function which can be defaulted   
Error   2   error C2610: 'cv::dnn::dnn4_v20210301::Model &cv::dnn::dnn4_v20210301::Model::operator =(cv::dnn::dnn4_v20210301::Model &&)' : is not a special member function which can be defaulted  
Error   5   error C2610: 'cv::cuda::GpuMatND &cv::cuda::GpuMatND::operator =(cv::cuda::GpuMatND &&)' : is not a special member function which can be defaulted  

这里的问题是什么?

正如人们在评论中指出的那样,Visual C++Express 2013是一个非常古老的编译器,它几乎不支持C++11的一小部分(可能只有C++03或更低(。因此,它抱怨noexcept异常规范。第二个错误可能是第一个错误的副作用。唯一的解决方法是使用更新的编译器,这意味着你可能还必须获得项目依赖项的更新版本。

最新更新