Je veux faire une copie superficielle sur une structure entière qui a la décélération constante. Mais je veux que la structure que je copie soit non constante.Existe-t-il un moyen de faire une copie superficielle d'une structure constante vers une structure non constante?
C'est ce que je l'ai fait jusqu'à présent qui produit une erreur:
struct Student{
char *name;
int age;
Courses *list; //First course (node)
}Student;
void shallowCopy(const Student *one){
Student oneCopy = malloc(sizeof(one));
oneCopy = one; <--------------- ERROR POINTS TO THIS LINE
}
L'erreur du compilateur Je reçois:
Assignment discards 'const' qualifier from pointer target type.
Je sais que je peux retirer le const
d'un ou ajouter le const
à oneCopy
, mais je veux savoir s'il existe un moyen de faire une copie superficielle dans cette situation particulière où Student one
est un const
et la copie Student oneCopy
ne l'est pas.
Pourquoi le vote négatif? Est-ce pas une question valide et unique qui affiche ce que j'ai essayé. – Brandon
Je n'ai pas voté, mais le -1 pourrait être parce qu'il y a des erreurs extrêmement fondamentales ici qui seraient couvertes par n'importe quel livre ou cours d'introduction. De plus, vous n'avez pas envoyé votre code actuel: vous devriez obtenir une erreur de compilation sur la ligne 'void shallowCopy (const Student * one) {'; et un autre sur la ligne 'malloc', et une erreur différente sur la ligne indiquée. –