gcc me donne lvalue non valide dans les erreurs d'affectation pour:gcc confus au sujet de ce qu'est une lvalue?
-2[(size_t *)new] = 0;
Modification du code à ce qui suit rend disparaître:
((size_t *)new)[-2] = 0;
mais pour autant que je peux dire, les deux sont 100% l'équivalent dans C. gcc n'a aucun problème à utiliser le premier dans les expressions non-lvalues. Est-ce juste un bug dans gcc? Je l'ai testé avec plusieurs versions et j'ai obtenu les mêmes résultats.
chaque fois que je pense que je connais C, je vois des choses comme ça et je vais "wtf?" –
Je savais qu'il est possible d'accéder à des tableaux comme ça, mais je ne savais jamais que quelqu'un le faisait comme ça ... – musiKk
@SB: Non, c'est un WTF légitime. – Thanatos