「未定義参照」エラーに関するいくつかの問題に直面しています。コードを投稿できない場合がありますが、宣言と関数の呼び出し方法は次のとおりです。
宣言:
template <typename T>
int pitch_detect(deque<T>& x, int offset, int len);
template <typename T>
int is_voiced(
deque<T>& x, int offset, int len,
double avg_energy, int pre_voice,
short& s_flag,
long nsamples
);
上記の関数を次のように呼び出しています。
x = is_voiced(superFrame_, cur_offset_, f_len_,
avgEnergy_, frame_voicing_[1], silence_flag_, nsamples_);
y = pitch_detect(superFrame_, cur_offset_, f_len_);
上記のステートメント (関数を呼び出している場所) は、エラーとしてフラグが立てられます。これらはメッセージです:
`int is_voiced(std::deque >&, int, int, double, int, short&, long) への未定義参照
`int pitch_detect(std::deque >&, int, int)' への未定義の参照
上記のエラーを解読するための助けは大歓迎です。ありがとう、スリラム
編集: 上記の関数は、別のヘッダーと対応する C++ ファイルで定義されています。それらをコンパイルしてオブジェクトファイルを作成しようとしても問題はありません。これらのエラーは、リンカー ステージで見られます。