А вот теперь смотрим что будет в том же компиляторе GCC, но если этот код интерпретировать как C++:
Код: Выделить всё
olej@nvidia:~/2020_WORK/Zodiac_Systems/OWN-DRAFT-TESTs$ g++ -Wall -O nested.c -o nested
nested.c: In function ‘void nested()’:
nested.c:6:22: error: a function-definition is not allowed here before ‘{’ token
6 | void pow2( void ) { // вложенное 1-го уровня описание функции pow2()
| ^
nested.c:17:4: error: ‘pow2’ was not declared in this scope
17 | pow2();
| ^~~~
Это тот довольно редкий случай, когда какие-то синтаксические конструкции языка C расцениваются как синтаксически недопустимые по правилам C++.