在 OpenCV 库中有一个
typedef const _InputArray& InputArray;
在我们的代码中,我们有以下函数定义:
void wimshow(const String& winName, InputArray &img) {
编译时出现以下错误:
error: cannot declare reference to 'cv::InputArray {aka const class cv::_InputArray&}'
void wimshow(const String& winName, InputArray &img) {
奇怪的是,这个错误只有在 Cray 环境中使用 GCC 4.8.1 时才会发生。使用 GCC 4.8.1 在普通 Linux 环境中编译可以正常工作。
乍一看,我会说对引用类型的引用并不是很有意义,但我很好奇是什么导致了不同的编译器行为!?