2017-06-30 7 views
-1

エラー:私はフィーチャートラックの構造をしていた未知のタイプ名「FeatureTracks」

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

しかし、関数呼び出しがエラーを与えています:不明なタイプ名 'FeatureTracks'

私を助けてください。前もって感謝します。

+0

情報が不足しています。あなたが関係するファイルをどのように整理したかを詳細に記述して、適切なものを入れましたか、ビルドプロセスについては確かですか? – coincoin

+0

はい私はビルドプロセスについて確信しています。含めるマイファイルがあります。#include する#include の#include の#include の#include する#include する#include する#include する#include の#include の#include "opencv2/features2d/features2d.hpp" の#include「opencv2/calib3d/calib3d.hpp " #include

+0

「FeatureTracks」と「FeatureTracks」を宣言し定義した方法と場所を詳しく記入してください。 'genTrackMatrix' – coincoin

答えて

0

まあ、単純に定義されていないと思います。構造体の定義は、関数のプロトタイプ宣言の前に行う必要があります。構造体は別のcファイル内に定義されていますか?その後、ヘッダーファイルに移動し、ヘッダーを含めます。後でcファイルに構造体定義がありますか?その後、最初に移動します。

Cコンパイラにはグローバルスコープがありません。現在のファイルのみが表示され、トップダウンで処理されます。ちょうど "再生"はコンパイラであり、Cファイルをステップ実行します。使用する前にすべての型定義を見たことがありますか?

+0

ありがとうございました@Thomas私は関数の定義の後に構造を定義しました。私の問題を解決していただきありがとうございます。 –

+0

ご参考までに... _coughacceptmyanswercoughcough _.... ;-) – Loamsiada

関連する問題