lexborisov/Modest

Нельзя использовать Modest с C++ из-за typedef до реального объявления enum :(

Closed this issue · 3 comments

Azq2 commented
external/Modest/include/mycss/values/values.h:37:14: error: use of enum ‘mycss_values_text_decoration_line’ without previous declaration
 typedef enum mycss_values_text_decoration_line mycss_values_text_decoration_line_t;
              ^
external/Modest/include/mycss/values/values.h:37:83: error: invalid type in declaration before ‘;’ token
 typedef enum mycss_values_text_decoration_line mycss_values_text_decoration_line_t;
                                                                                   ^
external/Modest/include/mycss/values/values.h:38:14: error: use of enum ‘mycss_values_text_decoration_skip’ without previous declaration
 typedef enum mycss_values_text_decoration_skip mycss_values_text_decoration_skip_t;
              ^
external/Modest/include/mycss/values/values.h:38:83: error: invalid type in declaration before ‘;’ token
 typedef enum mycss_values_text_decoration_skip mycss_values_text_decoration_skip_t;
                                                                                   ^
external/Modest/include/mycss/values/values.h:41:14: error: use of enum ‘mycss_values_color_type’ without previous declaration
 typedef enum mycss_values_color_type mycss_values_color_type_t;
              ^
external/Modest/include/mycss/values/values.h:41:63: error: invalid type in declaration before ‘;’ token
 typedef enum mycss_values_color_type mycss_values_color_type_t;
                                                               ^
external/Modest/include/mycss/values/values.h:42:14: error: use of enum ‘mycss_values_color_type_value’ without previous declaration
 typedef enum mycss_values_color_type_value mycss_values_color_type_value_t;
              ^
external/Modest/include/mycss/values/values.h:42:75: error: invalid type in declaration before ‘;’ token
 typedef enum mycss_values_color_type_value mycss_values_color_type_value_t;
                                                                           ^
external/Modest/include/mycss/values/values.h:52:14: error: use of enum ‘mycss_values_font_family_type’ without previous declaration
 typedef enum mycss_values_font_family_type mycss_values_font_family_type_t;
              ^
external/Modest/include/mycss/values/values.h:52:75: error: invalid type in declaration before ‘;’ token
 typedef enum mycss_values_font_family_type mycss_values_font_family_type_t;

В C++ не работает вот такое:

typedef enum a b;
enum a {A = 1};
azq2@zhumarin:~/проекты/symfony$ gcc  test.c
azq2@zhumarin:~/проекты/symfony$ g++ test.c
test.c:1:14: error: use of enum ‘a’ without previous declaration
 typedef enum a b;
              ^
test.c:1:17: error: invalid type in declaration before ‘;’ token
 typedef enum a b;
                 ^
Azq2 commented

После переноса enum'ов больше не было проблем с C++

Thanks! Fixed!
Это я увлекся копированием, так делать, конечно же, не надо.

Azq2 commented

Теперь всё ок, спасибо)