【问题标题】:Error : unknown type name 'FeatureTracks'错误:未知类型名称“FeatureTracks”
【发布时间】:2017-06-30 08:10:20
【问题描述】:

我已经为特征轨道制作了一个结构:

struct FeatureTracks{
    std::vector<std::vector<cv::Point2f> > tracks;
    std::vector<size_t> offset;
};

然后制作一个函数来调用它:

void genTrackMatrix(const std::vector<cv::Mat>& images, FeatureTracks& trackMatrix, int tWindow,  int stride);

但函数调用报错:unknown type name 'FeatureTracks'

请帮帮我。提前致谢。

【问题讨论】:

  • 您没有提供足够的信息。详细说明你是如何组织相关文件的,你是否放置了正确的包含,你确定你的构建过程吗?
  • 是的,我确信构建过程。我的包含文件是:#include #include #include #include #include #include #include #include #include #include #include "opencv2/features2d/features2d.hpp" #include "opencv2 /calib3d/calib3d.hpp" #include
  • 请详细说明您声明和定义FeatureTracksgenTrackMatrix的方式和位置

标签: c++ visual-studio c++11 android-ndk


【解决方案1】:

好吧,我假设它根本没有定义。结构定义必须在函数原型声明之前完成。结构是在另一个 c 文件中定义的吗?然后将其移动到头文件并包含 Header。结构定义是在c文件后面吗?然后将其移到开头。

C 编译器没有全局范围,它只查看当前文件并自上而下处理它。只需“播放”作为编译器并逐步执行 C 文件。你在使用之前看过每个类型定义吗?

【讨论】:

  • 谢谢@Thomas 我在定义函数之后定义了结构。谢谢你解决了我的问题。
猜你喜欢
  • 2012-02-20
  • 2016-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
  • 2013-10-12
  • 1970-01-01
相关资源
最近更新 更多