Erreur : conversion d'une chaîne non typée en pointeur de chaîne
Le passage d'une constante de chaîne non typée en tant qu'argument à une fonction attendant un pointeur de chaîne entraîne le erreur suivante :
cannot convert (untyped string constant) to *string [duplicate]
Issue
Le paramètre StorageClassName dans le code fourni attend un pointeur vers une chaîne. Cependant, la valeur fournie "manual" est une constante de chaîne non typée.
Solution
Pour résoudre ce problème, vous ne pouvez pas passer directement une constante de chaîne en argument. Au lieu de cela, vous devez d’abord déclarer une variable chaîne et lui attribuer la constante chaîne. Vous pouvez ensuite transmettre l'adresse de la variable comme argument du pointeur à l'aide de l'opérateur &.
// 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, }, }
En suivant cette approche, vous pouvez transmettre avec succès le pointeur de chaîne nécessaire comme argument à la fonction.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!