首頁  >  文章  >  後端開發  >  如何將非類型化字串常數傳遞給需要字串指標的函數?

如何將非類型化字串常數傳遞給需要字串指標的函數?

Linda Hamilton
Linda Hamilton原創
2024-11-02 16:00:29630瀏覽

How to Pass an Untyped String Constant to a Function Expecting a String Pointer?

錯誤:將非類型化字串轉換為字串指標

將非類型化字串常數作為參數傳遞給需要字元字串指標的函數會導致下列的錯誤:

cannot convert (untyped string constant) to *string [duplicate]

問題

提供的程式碼中的StorageClassName 參數需要一個指向字串的指標。但是,提供的值“manual”是一個無類型字串常數。

要解決此問題,您不能直接傳遞字串常數作為參數。相反,您必須先宣告一個字串變數並將字串常數指派給它。然後,您可以使用 & 運算子將變數的位址作為指標參數傳遞。

// Declare a string local and assign the constant string literal to it
manualStr := "manual"

// Pass the address of the local variable as the parameter argument
persistentvolumeclaim := &apiv1.PersistentVolumeClaim{

    ObjectMeta: metav1.ObjectMeta{
        Name: "mysql-pv-claim",
    },
    Spec: apiv1.PersistentVolumeClaimSpec{
        StorageClassName: &manualStr,
    },
}

遵循此方法,您可以成功地將必要的字串指標作為參數傳遞給函數。

以上是如何將非類型化字串常數傳遞給需要字串指標的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn