0

我在 .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++ 新手,这是我在这里的第一个问题,所以如果这个问题如此明显或者我做错了什么,请提前原谅我。

4

0 回答 0