Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ MPC-HC&;VS2012将错误抛出';=删除';符号_C++_Visual Studio 2012_C++11 - Fatal编程技术网

C++ MPC-HC&;VS2012将错误抛出';=删除';符号

C++ MPC-HC&;VS2012将错误抛出';=删除';符号,c++,visual-studio-2012,c++11,C++,Visual Studio 2012,C++11,在尝试编译最新版本的MPC-HC(v1.7.3)时,我遇到了一个以前从未遇到过的错误: SeparableFilter.h(370):错误C2059:语法错误:';' 我得到了相当多的这些,而且似乎都是在使用“=delete;”的行上符号 我对这个符号还不熟悉,但是一些谷歌发现它是C++11标准的一部分 是否有办法在VS2012中包含对此的支持(目前使用Ultimate,Update 4)?还是需要升级到VS2013?(我假设它在VS2013中得到支持,因为MPC-HC开发者使用Visual C

在尝试编译最新版本的MPC-HC(v1.7.3)时,我遇到了一个以前从未遇到过的错误:

SeparableFilter.h(370):错误C2059:语法错误:';'

我得到了相当多的这些,而且似乎都是在使用“=delete;”的行上符号

我对这个符号还不熟悉,但是一些谷歌发现它是C++11标准的一部分

是否有办法在VS2012中包含对此的支持(目前使用Ultimate,Update 4)?还是需要升级到VS2013?(我假设它在VS2013中得到支持,因为MPC-HC开发者使用Visual C++,所以我猜VS2013!)

更新: 根据要求,以下是相关代码:

struct GaussianKernel {
    short* kernel;
    int width;
    int divisor;

    inline GaussianKernel(double sigma) {
        width = (int)(sigma * 3.0 + 0.5) | 1; // binary-or with 1 to make sure the number is odd
        if (width < 3) {
            width = 3;
        }
        kernel = DEBUG_NEW short[width];
        kernel[width / 2] = (short)(NormalDist(sigma, 0.0) * 255);
        divisor = kernel[width / 2];
        for (int x = width / 2 - 1; x >= 0; x--) {
            short val = (short)(NormalDist(sigma, width / 2 - x) * 255 + 0.5);
            divisor += val * 2;
            kernel[x] = val;
            kernel[width - x - 1] = val;
        }
    }

    inline ~GaussianKernel() {
        delete [] kernel;
    }

    GaussianKernel(const GaussianKernel&) = delete;
};
struct GaussianKernel{
短*内核;
整数宽度;
整数除数;
内联GaussianKernel(双西格玛){
宽度=(int)(sigma*3.0+0.5)| 1;//二进制或带1,以确保数字为奇数
如果(宽度<3){
宽度=3;
}
kernel=DEBUG_NEW short[width];
核[width/2]=(短)(正态分布(sigma,0.0)*255);
除数=核[width/2];
对于(int x=width/2-1;x>=0;x--){
短值=(短)(正态分布(西格玛,宽度/2-x)*255+0.5);
除数+=val*2;
内核[x]=val;
内核[width-x-1]=val;
}
}
内联~GaussianKernel(){
删除[]内核;
}
GaussianKernel(常数GaussianKernel&)=删除;
};

GaussianKernel(常数GaussianKernel&)=删除,但我多次遇到此错误,并且总是在使用
…=删除看看这个。“=delete”符号是C++11,VC 2013不是C++11。谢谢,我看到了这个问题。那么你是说这个符号不能在VS2012或VS2013中使用吗?我想知道开发人员当时是如何编译的…?他们使用VS2013构建它,该功能可能在那里可用。