Posté le 19/12/2018 17:43
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 87 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 19/12/2018 17:53 | #
Non, tel quel il n'y a pas moyen. La raison est que ton champ de type const Poly * est un pointeur, pour l'initialiser il faut donc que tu possèdes une adresse allouée par le linker. Le moyen de l'obtenir, c'est de déclarer le tableau comme tu l'as fait.
Toutefois, le C moderne te permet de créer une structure contenant un tableau à taille variable (non spécififée) à condition que ce soit le denier élément. Tu ne peux alors par prendre le sizeof du type (ou alors ça renvoie la taille sans le tableau final, je ne sais plus bien) et tu ne peux pas en faire des tableaux... mais tu peux faire ceci :
{
int a, b;
const Poly poly[];
};
struct Model model = {
34, 12,
{ ... }
};
Je doute que le SDK l'accepte, toutefois...
De toute façon je ne suis pas sûr que les inconvénients posés par ce type de structure soient ce que tu veux. C'est pas vraiment fait pour ça, je pense. Si tu le peux, je pense que garder le tableau que tu as est la meilleure solution.
Citer : Posté le 19/12/2018 17:59 | #
Merci pour la réponse, en effet, j'ai doirt à un "missin array size" ^^, dommage