fork download
  1. #include <stdio.h>
  2.  
  3. typedef struct {
  4. int a;
  5. struct str_type * next;
  6. } str_type;
  7.  
  8. int main(void) {
  9. str_type foo, bar;
  10.  
  11. foo.a = 1;
  12. bar.a = 2;
  13. foo.next = &bar; // Тут на нас обоснованно ругаются, т.к. мы присваиваем указатели на безымянную
  14. bar.next = &foo; // структуру с тайпдефнутым именем, а не на ожидающуюся struct str_type.
  15.  
  16. printf("%i\n", foo.next->a);
  17. }
  18.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function 'main':
prog.c:13:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
     foo.next = &bar; // Тут на нас обоснованно ругаются, т.к. мы присваиваем указатели на безымянную
              ^
prog.c:14:14: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types]
     bar.next = &foo; // структуру с тайпдефнутым именем, а не на ожидающуюся struct str_type.
              ^
prog.c:16:28: error: dereferencing pointer to incomplete type 'struct str_type'
     printf("%i\n", foo.next->a);
                            ^
cc1: all warnings being treated as errors
stdout
Standard output is empty