В этот вопрос SO Я столкнулся с очень странным typedef
:
struct Date {
int day, month, year;
} typedef date_s;
Я всегда видел typedef
после этого "правила":
typedef <existing> <new>;
Например:
typedef unsigned long long ull;
typedef int kph; // speed
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
typedef int int_t;
typedef char char_t, *char_p, (*fp)(void);
Четвертый из них взят из здесь, пятый и шестой из cppreferenceсуб >
И это, как я мог бы typedef
a struct
:
typedef struct {
int a, b, c;
} data;
// and then use it
data Something;
Вопрос в том, как можно даже написать такой typedef
? Это даже не имеет смысла (по крайней мере для меня).
clang
не дает никаких ошибок или предупреждений даже при -Wall -Wextra
.
Бонусный вопрос: должен ли я посоветовать автору вопрос, где этот код можно найти, чтобы избежать использования такого typedef
(потому что это очень необычно и может привести к путанице)?