Я только сейчас заметил, что следующий код может быть скомпилирован с Clang/GCC/Clang ++/G ++, используя C99 , C11 , c ++ 11 Стандарты.
int main(void) {
int i = i;
}
< /code>
и даже с -wall -wextra < /code>, ни один из компиляторов даже не сообщает о предупреждениях.why.c:2:13: warning: variable 'i' is uninitialized when used within its own initialization [-Wuninitialized]
int i = i + 1;
~ ^
1 warning generated.
< /code>
Мои вопросы: < /p>
Почему это даже разрешено компиляторами? В частности, каково это поведение? Ub или реализация зависит от?
Я только сейчас заметил, что следующий код может быть скомпилирован с Clang/GCC/Clang ++/G ++, используя C99 , C11 , c ++ 11 Стандарты.
int main(void) { int i = i; } < /code>
и даже с -wall -wextra < /code>, ни один из компиляторов даже не сообщает о предупреждениях.why.c:2:13: warning: variable 'i' is uninitialized when used within its own initialization [-Wuninitialized] int i = i + 1; ~ ^ 1 warning generated. < /code>
Мои вопросы: < /p>
[list] [*] Почему это даже разрешено компиляторами? В частности, каково это поведение? Ub или реализация зависит от? [/list]
Я проверил себя, я написал такую программу
int main() {
int i;
cout
Я запускал программу несколько раз, и результат был одинаковым все время, ноль.
Я пробовал ее в C, и результат был одинаковым. На
любое значение ранее находилось в этом месте в...
Я проверил себя, я написал такую программу
int main() {
int i;
cout
Я запускал программу несколько раз, и результат был одинаковым все время, ноль.
Я пробовал ее в C, и результат был одинаковым. На
любое значение ранее находилось в этом месте в...
У меня есть несколько приложений React/Vite, и одно называется App Shell, который является хостом всех модульных федеративных приложений. На основе маршрута страницы я загружаю удаленное приложение, используя функцию LoadRemote из...
x должен был инициализироваться до true .
Я хотел бы выразить ошибку компилятора, что Bool не была явно инициализирована, но я не могу найти предупреждение, которое...
В C# это выражение коллекции не компилируется с помощью инициализатора коллекции списка (на мой взгляд, все должно быть на месте, чтобы оно работало, но у разработчиков Roslyn должны быть свои причины):
var list = new List
{
// Compiler error...