我已經定義了一個函數,其中一個參數是out。在這裏,當函數調用完成時,我傳遞一個初始化或未初始化的參數。 現在,在初始化參數的情況下,如何讓被調用者不改變out參數的值?函數調用的外部參數應該保持初始化值
我不能在這裏使用ref,因爲有時候我會發送未初始化的參數。 例如:
void fun1()
{
int x = 3;
fun2 (out x);
int y;
fun2(out y);
}
void fun2(out int x)
{
...
}
在這裏,我不想一次控制轉到FUN2的X失去了價值3。
如果你放一些代碼來顯示你正在做什麼,它會幫助我們想象如何幫助你。 – Guga
這很難理解你想達到的目標。 「out」意味着初始化(和值)是被調用方法的責任。你要求完全相反。 – Tormod
在上面的例子中,我只想確保如果out參數在fun2調用之前已經在fun1中初始化,那麼它應該保持該值不變,否則它可以在fun2中初始化參數。 但是,因爲它已經出來了,fun2必須爲參數分配一個值,因爲在第一次調用時,值3會丟失。\ –