Swift Erreur: Ne peut pas passer à valeur immuable inout argument: "pChData' est un 'laisser' constante

J'ai une fonction qui ressemble à ce qui suit:

func receivedData(pChData: UInt8, andLength len: CInt) {
    var receivedData: Byte = Byte()
    var receivedDataLength: CInt = 0

    memcpy(&receivedData, &pChData, Int(len));  //Getting the error here
    receivedDataLength = len
    AudioHandler.sharedInstance.receiverAudio(&receivedData, WithLen: receivedDataLength)
}

L'obtention de l'erreur:

Ne peut pas passer à valeur immuable inout argument: "pChData' est un 'laisser' constante

Swift Erreur: Ne peut pas passer à valeur immuable inout argument:

Bien qu'aucun des arguments que je suis de passage ici sont let constantes. Pourquoi suis-je cela?

  • Où est memcpy() la fonction?
  • Votre fonction doit être capable de muter pChData à l'intérieur et à l'extérieur de son champ d'application? Ou seulement à l'intérieur? Il n'est pas clair à partir de votre question. Attention à ne pas utiliser inout si vous avez uniquement besoin de la valeur d'une variable à l'intérieur.
  • memcpy()´ is a function defined in Darwin.C.string". Une de ses utilisations est la modification d'une MTLBuffer.
InformationsquelleAutor | 2016-05-03