我面临一些“未定义的引用”错误的问题。我可能无法发布代码,但声明和调用函数的方式如下:
声明:
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++ 文件中定义。当我尝试编译它们并创建一个目标文件时,我没有遇到任何问题。这些错误出现在链接器阶段。