enum vs typedef enum

Jan Waclawek konfera na efton.sk
Úterý Září 19 14:46:37 CEST 2023


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
>
>



Další informace o konferenci Hw-list