Je te réponds, JolyLoic, au sujet de l'allocation dynamique.
Je pense qu'elle est nécessaire parce que je voudrais créer une fonction qui prend en entrée un entier et qui renvoie en sortie un tableau d'entiers de taille variable, la liste des nombres premiers inférieurs à l'entier d'entrée. Pour cette liste, j'ai choisi le contenant vector.
Dans le code
Liste = malloc (taille * sizeof(long) );
j'ai retiré "Liste =" et il n'y a plus de message d'erreur. Mais je me demande maintenant comment le code sait dans quoi allouer ce que je lui demande d'allouer.
Mais j'ai toujours trois messages d'erreur pour la ligne d'affectation de Liste[i] du code suivant :
1 2 3 4 5
| i=0;
for (k=2; k<=n; k++)
if (Entier[k]==0)
{*Liste[i]=k;
i=i+1;} |
Les voici :
pointer to a function used in arithmetic
assignment of read only location
cannot convert 'long int' to 'std::vector<long int, std::allocator<long int>>'
in assignment
Partager