是否有任何寫作方式如果作爲C++中的函數? 我不確定我是否寫正確的問題。代表是否在C++中作爲函數
int sum(int a, int b)
int total;
total = a + b;
return total;
所以這是總和功能,我該怎麼寫呢如果那樣呢?
是否有任何寫作方式如果作爲C++中的函數? 我不確定我是否寫正確的問題。代表是否在C++中作爲函數
int sum(int a, int b)
int total;
total = a + b;
return total;
所以這是總和功能,我該怎麼寫呢如果那樣呢?
這樣的事情?
void if_else(bool cond, std::function<void()> if_, std::function<void()> else_) {
cond ? if_() : else_();
}
即使到那裏仍然是在三元運算符的形式if/else語句...
這一次可能是另一種解決方案:
void if_else(bool cond, std::function<void()> if_, std::function<void()> else_) {
(cond && ([&]() { if_(); return true; })()) || else_();
}
我不知道關於第二個,主要是因爲立即執行的函數的定義,但我想這個想法很清楚。
您正在從void函數返回一個值。 – NathanOliver
你說得對,讓我放棄回報。 – skypjack
你能說明你打算如何使用它嗎?另外,你的函數缺少一些大括號'{}'。您可能能夠脫離謂詞/函數對象.... –