finde ich, dass ein Arrays in der Erklärung, wir die Größe davon wie dieseWarum ist int a [0] in C++ erlaubt?
int a[0];
I, leere Größe Array illegal in C++ weiß nicht angeben können, aber in meinem Code, Compiler leer Größe Array erlaubt und geben die Ausgabe.
Mein Code ist hier:
#include <iostream>
using namespace std;
int main()
{
int a[0];
a[0] = 10;
a[1] = 20;
cout<<a[0]<<endl;
cout<<a[1]<<endl;
return 0;
}
Ausgang:
10
20
Online-Compiler Link: http://code.geeksforgeeks.org/TteOmO
Also, meine Frage: Warum ist int a[0]
GCC Compiler erlaubt?
Doing 'int a [0]; a [0] = 10; a [1] = 20; 'führt zu FireWorks (UB). – sameerkn
OP weiß, dass es falsch ist, Frage ist, warum der Compiler keinen Fehler auslöst. Antwort auf die, ich nehme an, wäre, dass es nicht alles für Sie tun kann;) – slawekwin
'Fehler: ISO C++ verbietet Null-Größe-Array 'a' [-Wpedantic] int a [0];' – Praveen