在C++中,我可以寫一個模板函數:在打字稿中,如何編寫處理任意維數組的函數(例如:Array <number>,Array <Array <number>>,...)?
#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);
}
處理在矢量載體的任何尺寸(例如:矢量< int>的,矢量<矢量< INT >>,矢量<矢量<矢量< INT >>>,...):
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.
,我相信我可以是錯誤的做法