$ gcc-10 --versiune
gcc-10 (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
$ test pisica.c
struct A {
int a;
};
struct B {
int b;
structura A;
};
int main(void)
{
structura B c;
c.a = 0;
c.b = 1;
întoarce 0;
}
$ gcc-10 test.c
test.c:7:13: avertisment: declarația nu declară nimic
7 | structura A;
| ^
test.c: În funcția âmainâ:
test.c:13:6: eroare: âstruct Bâ nu are niciun membru numit âaâ
13 | c.a = 0;
| ^
Adăugând -std=c17
nu face nicio diferenta. Am verificat (cu -v
varianta care cc1
este sunat din locația corectă (/usr/lib/gcc/x86_64-linux-gnu/10/cc1
). Sursa ar trebui să fie compilată, totuși. gcc 10.2.0 (utilizat pe Cygwin, de exemplu), este perfect capabil să facă față acestui cod:
$ gcc --versiune
gcc (GCC) 10.2.0
$ gcc test.c
$
(fără erori).
Iată ce a fost instalat ca „gcc-10”:
cc-10-base/focal-updates,focal-security,acum 10.3.0-1ubuntu1~20.04 amd64 [instalat,automat]
gcc-10/focal-updates,focal-security,acum 10.3.0-1ubuntu1~20.04 amd64 [instalat]
libgcc-10-dev/focal-updates,focal-security, acum 10.3.0-1ubuntu1~20.04 amd64 [instalat, automat]
Sistemul meu:
$ uname -a
Linux xxx 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Mar 13 iulie 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
Orice ajutor va fi foarte apreciat!
Mulțumiri!