共用方式為


在將 'ByRef' 參數 '<parametername>' 的值複製回相對應的引數時,將 '<typename1>' 隱含轉換至 '<typename2>'

更新:2007 年 11 月

程序是以 ByRef 引數呼叫的,但此引數的型別與對應之參數的型別不同。

如果您傳遞引數 ByRef,Visual Basic 有時會將引數值複製到程序中的區域變數,而不是傳遞參考。在這種狀況下,當程序傳回時,Visual Basic 必須接著將區域變數值複製回呼叫程式碼中的引數。

如果 ByRef 引數值已複製到程序,並且引數和參數屬於相同型別,便不需要轉換。但是,如果型別不同,則 Visual Basic 必須以兩個方向轉換。因為您無法在程序引數或參數上使用 CType 或任何其他轉換關鍵字,因此這類轉換一律是隱含轉換。

根據預設,這是一個警告訊息。如需隱藏警告或將警告視為錯誤的詳細資訊,請參閱在 Visual Basic 中設定警告

錯誤 ID:BC41999

若要更正這個錯誤

  • 請盡可能使用與程序參數相同型別的呼叫引數,這樣 Visual Basic 便不需要執行任何轉換。

  • 如果您需要以不同於參數型別的引數型別呼叫程序,但不需要傳回值至此呼叫引數,則參數必須定義為 ByVal 而不是 ByRef。

請參閱

概念

Visual Basic 中的程序

程序參數和引數

以傳值和傳址方式傳遞引數

隱含和明確轉換