C++模板函数使用模板函数作为参数时候发生C2896错误
代码如下:template<classparameter>parameterpro1(parameterpara){return++para;}template<clas...
代码如下:
template<class parameter>
parameter pro1(parameter para)
{
return ++para;
}
template <class process,class parameter>
void pro2(process pro1,parameter para)
{
cout<<pro1(para);
}
void main()
{
int a=3;
pro2(pro1,a);
}
此时会发生C2896错误,但若改成这样就没错
int pro1(int para)
{
return ++para;
}
template <class process,class parameter>
void pro2(process pro1,parameter para)
{
cout<<pro1(para);
}
void main()
{
int a=3;
pro2(pro1,a);
}
但是这样pro1就不能当模板使用,效果大减,我用的是VS2005,请问怎么解决 展开
template<class parameter>
parameter pro1(parameter para)
{
return ++para;
}
template <class process,class parameter>
void pro2(process pro1,parameter para)
{
cout<<pro1(para);
}
void main()
{
int a=3;
pro2(pro1,a);
}
此时会发生C2896错误,但若改成这样就没错
int pro1(int para)
{
return ++para;
}
template <class process,class parameter>
void pro2(process pro1,parameter para)
{
cout<<pro1(para);
}
void main()
{
int a=3;
pro2(pro1,a);
}
但是这样pro1就不能当模板使用,效果大减,我用的是VS2005,请问怎么解决 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询