举个栗子
test.cpp
#include<iostream>
#include<vector>
using namespace std;
int SetDims(vector<int> temp){
int size=1;
for(int i = 0; i < temp.size(); ++i){
size*=temp[i];
}
return size;
}
int SetDims(int i){
return i;
}
int SetDims(int i, int j){
return i*j;
}
int SetDims(int i, int j, int k){
return i*j*k;
}
template<typename... Ts>
void resize(Ts... dim){
int size = SetDims(dim...);
std::cout << size << std::endl;
}
int main(){
resize(2);
resize(2,3);
resize(5,4,2);
vector<int> temp;
temp.push_back(1);
temp.push_back(22);
temp.push_back(11);
temp.push_back(2);
resize(temp);
return 1;
}
makefile
all:
g++ -o test test.cpp -std=c++11