构造函数初始化列表提示: 缺少类模板std::vector的参数列表;不能出现类型名
定义一个类如下,如果构造一个对象不会报错。程序代码:
class BCLT { public: BCLT():photo(3,std::vector<cv::Mat>(2,cv::Mat())) {}; ~BCLT() {}; std::vector<std::vector<cv::Mat>> photo; private: };
如果将上面构造函数中的初始化列表修改为下面代码,则初始化列表中提示两个红色的波浪线。第一个是std::vector,提示“缺少类模板std::vector的参数列表”,按理说我圆括号里面已经说明是cv::Mat类型。第二个是cv::Mat,提示“不能使用类型名”,加上圆括号就正常了,有什么区别吗?圆括号里面也没有写cv::Mat的类型呀。
程序代码:
class BCLT { public: BCLT():photo(3,std::vector(2,cv::Mat)) {}; ~BCLT() {}; std::vector<std::vector<cv::Mat>> photo; private: };
谢谢,求教。