我在 .h 文件中定义了这个类。
template<uint width, uint height, int64_t delta_t>
class DisplayEvents{
public:
void ShowEvents(uint16_t x, uint16_t y, int16_t p, int64_t timestamp);
cv::Mat img(width, height, CV_8UC1, cv::Scalar(130)); // create the grayscale
int64_t elapsed_t = 0;
};
我已经在 .cpp 文件中实例化了该类,如下所示:
//defines
#define width 640
#define height 480
#define delta_t 40000
DisplayEvents<width, height, delta_t> displayevents;
当我尝试编译时,出现以下错误:
error C2061: syntax error: identifier 'width'
message : see reference to class template instantiation 'DisplayEvents<width,height,delta_t>' being compiled
我在 .h 文件中包含了所有必要的库,并且我尝试手动编码这些值,如下所示:
cv::Mat img(640, 480, CV_8UC1, cv::Scalar(130)); // create the grayscale
并出现以下错误:
error C2059: syntax error: 'constant'
message : see reference to class template instantiation 'DisplayEvents<width,height,delta_t>' being compiled
我是 C++ 新手,这是我在这里的第一个问题,所以如果这个问题如此明显或者我做错了什么,请提前原谅我。