嗨。我的问题是,我在.h文件中有一个模板化函数,并且在其中我想调用一个未实现任何模板的函数,它只是一个基本的“声明和定义”功能。可以从模板化的函数中调用非模板化的函数吗?
.h文件
template <typename T>
void func(T ¶m){
//do something...
int p=func2(some param);
}
.cpp文件
int func2(some param){
int a;
//do something..
return a;
}
我收到一个错误代码:“ func2”没有依赖模板参数的参数,因此“ func2”的声明必须可用
答案 0 :(得分:0)
经过数小时的搜寻后,我找到了答案: 在我的.h文件中
int func2(some param)
。因此编译器没有看到它。 因此正确地看起来像这样:
int func2(some param);
template <typename T>
void func(T ¶m){
//do something...
int p=func2(some param);
}