-2
有人能幫我找到解決方案嗎?我想知道是否有C++當量以下的C#代碼:C++等效的C#動作傳遞
// C# Code here
private void Execute(Action action)
{
action();
}
可以稱之爲是這樣的:
this.Execute(() => { this.DoA(); this.DoB(); });
現在我都拿出來包裝的來電this.DoA();
而在另一個方法this.DoB();
並傳遞作爲函數指針:
// C++ Code here
void Execute(void (*f))
{
(*f);
}
和
void DoBoth()
{
DoA();
DoB();
}
這樣的話它可以被稱爲這個樣子,這也適用:
Execute(DoBoth);
但我無需聲明的方法DoBoth
尋找一種方式。我知道我可以使用多個參數,但我不想限制參數的數量,因此我希望能夠像C#中那樣。
任何幫助很樂意欣賞。
爲什麼不傳遞函數指針列表並運行它們中的每一個呢? – CinCout
@CinCout我會這樣做,但它是相當醜陋,難以理解,這就是爲什麼我尋找另一種方式 –
@PeterDuniho謝謝你,這是我一直在尋找。現在我可以刪除該問題,還是可以用其他方式關閉它? –