使用cvstd_wrapper.hpp opencv4.0.1进行编译时出现问题

时间:2019-03-05 03:56:16

标签: opencv c++11 image-processing

我正在将早期的c代码(opencv1.0)更新为opencv 4。当我更改和更新api时,一切看起来都很好,但是最后,我收到了上述文件的错误,如下所示,

/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:45:40: Declaration of constexpr static data member 'check' requires an initializer

/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:47:31: Constexpr can only be used in variable and function declarations

我正在使用LLVM 8.1,并使用libc ++(支持c ++ 11的LLVM C ++标准库)作为c ++标准库。

以下是代码中显示opencv错误的部分。

struct has_parenthesis_operator
{
private:
    template<typename T>
    CV_CONSTEXPR std::true_type check(typename std::is_same<typename
    std::decay<decltype(std::declval<T>().operator()(std::declval<Args> . 
  ()...))>::type, Ret>::type*);

template<typename> static CV_CONSTEXPR std::false_type check(...);

typedef decltype(check<C>(0)) type;

public:
static CV_CONSTEXPR bool value = type::value;
};

0 个答案:

没有答案