我正在尝试编译一个在 Xcode 中使用 OpenCV C++ 代码的项目。
template<typename _Tp> inline MatND_<_Tp>& MatND_<_Tp>::operator = (const MatND& m)
{
if( DataType<_Tp>::type == m.type() )
{
Mat::operator = (m);
return *this;
}
if( DataType<_Tp>::depth == m.depth() )
{
return (*this = m.reshape(DataType<_Tp>::channels));
}
CV_DbgAssert(DataType<_Tp>::channels == m.channels());
m.convertTo(*this, DataType<_Tp>::type);
return *this;
}
在这里,它在“Mat::operator = (m);”行上给了我一个编译器错误“调用没有对象参数的非静态成员函数”
代码没有损坏,我在这里验证了它。
另一个有趣的是,如果我选择编译器为 LLVM GCC 4.2,那么代码可以正常工作,但是在使用 Apple LLVM 编译器 3.2 编译时出现此错误。我需要使用 Apple LLVM 编译器进行编译,因为使用 GCC 编译会产生其他问题。
这里有什么问题?