Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;之前需要模板主表达式_C++_Templates - Fatal编程技术网

C++ c++;之前需要模板主表达式

C++ c++;之前需要模板主表达式,c++,templates,C++,Templates,我是模板新手,在这里的论坛上找不到我问题的答案,也许我只是不知道到底要搜索什么 我的代码: 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_ba

我是模板新手,在这里的论坛上找不到我问题的答案,也许我只是不知道到底要搜索什么

我的代码:

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;
}
模板
向量属性器(T输入){
向量向量;

对于(td=T()+1;d您需要传递一个值,而不是类型:

vector<T> divisors = properDivisors(input);
//                                  ^^^^^
向量除数=属性除数(输入);
//                                  ^^^^^

哈!对不起大家,问题是我应该编写properDivisor(输入)


愚蠢的错误…对不起…

对不起,这么糟糕的问题,我几乎马上就想出来了
vector<T> divisors = properDivisors(input);
//                                  ^^^^^