首先要解釋什麼是我想要做的事:傳遞條件作爲參數
void Foo(int &num, bool condition);
Foo(x, x > 3);
此代碼基本上都會評估條件的布爾調用函數之前,然後通過純粹的真或假。我正在尋找一種方式,使其通過自身的條件,所以我可以做這樣的事情:
void Foo(int &num, bool condition)
{
while(!condition)
{
num = std::rand();
}
}
我知道有可能是使含有條件的字符串和解析後一種解決方法,並我現在正在研究它,但我覺得它效率低下。被接受的答案將是解析包含條件的字符串旁邊的任何其他方式的解答,或者解釋這種傳遞條件的方式是不可能的答案。
在此先感謝
有沒有更大的圖片,所以我們可以在真實情況下看到'Foo'(假裝它可以正常工作)?另外,當它是一個引用時,你傳遞'x'作爲參數,而不是'x'的地址。 – GManNickG 2010-07-24 06:06:12
如果'std :: rand()'注意它返回一個int並且不帶任何參數。 – 2010-07-24 06:10:46
是的,我沒有檢查它,我只是寫它來給出一個想法應該如何工作。我很遺憾代碼很可笑,但是我在幾分鐘之內直接在這裏寫了它。 @GMan - 我可以複製和粘貼代碼,但它可能會錯過某些部分,所以我只是想說明一下。它應該做的是一直要求用戶輸入一次又一次,只要條件不被尊重。 – Johnny 2010-07-24 06:30:57