【发布时间】:2017-04-01 22:20:02
【问题描述】:
在C++中,我可以写一个模板函数:
#include <stdio.h>
#include <vector>
template <typename V>
void f(V& v){
for(auto& e : v){
f(e);
}
printf("\n");
}
template <>
void f(int& v){
printf("%d ",v);
}
处理vector中任意维度的vector(e.g.:vector
int main(){
std::vector<int> v1={1,2};
f(v1);
std::vector<std::vector<int> > v2={{3,4},{5,6,7}};
f(v2);
return 0;
};
就是这样一种函数:
let v1 : Array<number>=[1,2];
f<Array<number>>(v1);
let v2 : Array<Array<number>>=[[3,4],[5,6,7]];
f<Array<Array<number>>>(v2);
打字稿也可以吗?我尝试类似:
f<V>(v : V){
for(let e in v){
this.f(e);
}
}
f<>(v : number){
}
但错误提示
Duplicate function implementation.
我相信我可能是错误的方法
【问题讨论】:
标签: c++ arrays vector typescript typescript2.0