我是模板的新手,在这里的论坛上找不到我的问题的答案,也许我只是不知道要搜索什么。
我的代码:
template<class T>
vector<T> properDivisors(T input) {
vector<T>retVal;
for(T d = T()+1;d<input;d++) {
if((double)input/(double)d == input/d)
retVal.push_back(d);
}
return retVal;
}
template<class T>
T sumTypeOf(T input) {
vector<T>divisors = properDivisors(T);
return someEnum;
}
编译时我在行上收到错误:
vector<T>divisors = properDivisors(T);
错误是: 错误:')'令牌
之前的预期主要表达式答案 0 :(得分:2)
您需要传递值,而不是类型:
vector<T> divisors = properDivisors(input);
// ^^^^^
答案 1 :(得分:0)
哈!对不起大家,问题是我应该写出适当的分区(输入)
愚蠢的小节错误...抱歉......