enum vs typedef enum

Tomáš Hamouz konfery.tomas.hamouz na seznam.cz
Úterý Září 19 15:53:18 CEST 2023


Kouknul jsem se do dalších nastavení a vyzkoušel.
GCC generuje warning, CLANG error.

Pro sichr jsem si to opravil na pole[-1], kdybych to v nějakém starém
projektu potřeboval. Jinak funguju na static_assert.

Tomáš



> Dokelu. 

> Ja som nejako prehliadol ten zaciatok a tiez som si zle pamatal to makro co
> pouzivam... ano tiez to vedie na [-1] nie [0].

>>  incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]

> No ano, ale to je len warning. Chyba to je len s nejakym tym -Werror ci ako
> to je.

> Fakt sa mi to nechce hladat, ale konverzia celociselnej konstanty na
> smernik je legalna, akurat ma implementacne definovany vysledok (vratane
> moznosti chyby zarovnania alebo take nieco).

> wek



> ----- Original Message ---------------

> Subject: Re: enum vs typedef enum
>    From: Tomáą Hamouz <konfery.tomas.hamouz na seznam.cz>
>    Date: Tue, 19 Sep 2023 14:32:49 +0200
>      To: HW-news <hw-list na list.hw.cz>

>>Kdyľ to zkusím na teď, tak hlásí chybu
>>
>>  incompatible integer to pointer conversion initializing 'char *' with an expression of type 'int' [-Wint-conversion]
>>
>>
>>Zkusil jsem jeątě variantu s polem a kupodivu pole[0] mi normálně
>>projde. Spolehlivá byla aľ verze od pana Buchty, kdy  pole[-1] je
>>opravdu chyba.
>>
>>Tomáą
>>
>>>>pro v±echny C překladače funguje
>>>>
>>>>  #define SIZE_CHECK(name, size)  static char* _##name##_size = !(sizeof(name)==size);
>>
>>> A aky by to malo mat efekt? Ako compile-time assert sa mi to zda nevhodne,
>>> prekladac nemusi smernik inicializovany integerom pokladat za chybu.
>>
>>> Ja ako takyto obskurne makro pouzivam deklaraciu pola ([0] je error)...
>>
>>> wek
>>
>>

> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list