Это дает ошибку в С++, но не в C:
typedef struct nodes
{
int data;
struct node *next;
}node;
Он дает следующую ошибку в С++.
/home/DS cpp/linkedlist.cpp|10|error: conflicting declaration ‘typedef struct nodes node’|
/home/DS cpp/linkedlist.cpp|9|error: ‘struct node’ has a previous declaration as ‘struct node’|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Чтобы он работал на С++, я должен изменить его на это:
typedef struct node
{
int data;
struct node *next;
}node;
Я не понимаю, почему это происходит, я хочу знать порядок выполнения в C и С++, чтобы я мог его понять.