方法参数中的 OpenCV Mat 'expected ")"'

OpenCV Mat 'expected ")"' in method parameter

我目前正在开发一个涉及混合 C++ 和 Objective C 的 Mac 应用程序。我正在尝试将应用程序的一部分分离到一个 cpp 源文件中,但我无法编译该死的东西。

请记住,我是非常使用C++的新手,如果我犯了一个非常愚蠢的错误,请原谅我。

我已设法将其缩减为尽可能少的示例。出于某种原因,当我在方法声明中使用 Mat 数据类型时,我得到

expected ')'

我的头文件

#ifndef MATCHTEMPLATES_H
#define MATCHTEMPLATES_H

#include "opencv2/opencv.hpp"

class Matcher {
   public:
      Matcher(cv::Mat& template);
};
#endif

我的源文件

#include "Matcher.hpp"

using namespace cv;

Matcher::Matcher(Mat& template) { }

编译命令

clang++ -isystem /usr/local/Cellar/opencv3/3.1.0_3/include/opencv -isystem /usr/local/Cellar/opencv3/3.1.0_3/include -o CMakeFiles/Tracker.dir/source/cpp/Matcher.cpp.o -c {project location}/source/cpp/Matcher.cpp

是的,愚蠢的错误。

显然'template'是c++中的保留字

感谢塞巴斯蒂安霍夫曼指出这一点...