问题描述
假设我有以下结构:
struct something{
int data;
};
现在说我想创建一个模板函数,它对数组执行一些操作并返回这个结构。
template <typename type>
struct something func(type* arr,int size){
//do something
return {0};
}
但是,从函数返回 int
:
template <typename type>
int func(type* arr,int size){
//do something
return 0;
}
执行以下操作失败并出现以下错误:
error C3857: 'something': multiple template parameter lists are not allowed
或者给结构一个 typedef
的名字:
typedef struct something{
int data;
} SOME_NAME;
template <typename type>
SOME_NAME func(type* arr,int size){
//do something
return {0};
}
两者都编译完美。
帮助我理解这个奇怪的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)