解决办法:
将.h文件中的函数声明
void learnCovariance_my(vector<string> imgIt, const unsigned int numImages, const unsigned int maxOffset);
改为:
void learnCovariance_my(std::vector<std::string> imgIt, const unsigned int numImages, const unsigned int maxOffset);
注意:跟头文件没有关系,由于函数嵌套复杂,类别包裹层数多,即使在开始处声明定义命名空间,后面也要改掉。
本文介绍了一个关于函数声明中类型说明不规范导致的问题及解决方案。具体地,在一个复杂的类包裹层级中,函数learnCovariance_my的参数类型声明为非完全限定名称vector<string>,这导致了编译错误。正确的做法是在整个代码中使用全限定类型std::vector<std::string>。即便已在文件开头引入了std命名空间,但在复杂嵌套结构中仍需明确指定类型。
1694

被折叠的 条评论
为什么被折叠?



