2016-09-19 145 views
1

我有一個函數int f (int x, int y)這需要調用自己很多次,有固定的參數之一,在模板專門函數的參數

int f(int x, int y) { 
     ... 
     int i = f(z,y); 
     ... 
} 

是否有通過模板函數定義的任何方式int g (int x)這樣g(z) := f(z,y)這樣上面的電話會是int i = g(z)

回答

3

你可以只定義沒有任何模板,

auto f(int x, int y) 
    -> int 
{ 
    auto g = [=](int z) -> int { return f(z, y); }; 
    // ... 
    int i = g(z); 
} 

可以省略爲g-> int結果類型規格,如果你想要的。

聲明:編譯器手中未觸及的代碼。