Je suis en train d'affecter un composé littérale à une variable, mais il semble ne pas fonctionner, voir:
int *p[] = (int *[]) {{1,2,3},{4,5,6}};
J'ai eu une erreur de gcc.
mais si j'écris seulement ce:
int p[] = (int []) {1,2,3,4,5,6};
Alors c'est d'accord.
Mais ce n'est pas ce que je veux.
Je ne comprends pas pourquoi l'erreur atteint son apogée, parce que si je l'initialiser comme un tableau, ou de l'utiliser avec un pointeur de tableaux de caractères, son correct, voir:
int *p[] = (int *[]) {{1,2,3},{4,5,6}}; //I got a error
int p[][3] = {{1,2,3},{4,5,6}}; //it's okay
char *p[] = (char *[]) {"one", "two"...}; // it's okay!
Remarque, je ne comprends pas pourquoi j'ai une erreur dans le premier, et s'il vous plaît je ne peux pas ou je ne veux pas écrire comme la deuxième forme parce que ça doit être un composé littéraux, et je ne veux pas dire quelle est la taille du tableau pour le compilateur. Je veux quelque chose comme la seconde, mais pour les valeurs int.
Merci à l'avance.