Фатальная ошибка C1083 - не Может открыться, включают файл: “windows.h”: Никакой такой файл или каталог

Это порядок!

Порядок приоритета. В коде документа во время разбора функции получают оценку до начала выполнения кода. Но объявленные переменные имеют больший приоритет в любом заданном контексте. И функции могут запускаться только после того, как все переменные были созданы.

Вот почему функция с объявленной переменной «name» возвращает значение своего локального имени. Поскольку он уже существует, и функция не должна «искать» ее значение во внешней области.


EDIT

Для более глубокого понимания более интересным примером того же случая является здесь:

var name = "Paul";

   function users () {
          name = "Dietrich";
      if (!name) {
          var name = "Jack";
      }
      console.log(name);
   }

users(); // outputs "Dietrich"
console.log(name);  // again outputs "Paul"

Итак, что же произошло?

Разве декларация name = "Dietrich" не должна быть нацелена на глобальное значение переменной «name»?

Почему эта функция не сохраняется при возврате «Джека», как это было до? Или -Почему выход неожиданно не «Джек» и, конечно, не «Пол», а странный и совершенно неожиданный «Дитрих»?!

- По той же причине он продолжал перенастраивать «Джек» вместо из того, что следует за функциональной семантикой и ее условным предложением, и что это «Павел».

По причинам, описанным выше. При первом взгляде и объявлении функции мы name = "Dietrich" четко нацелились на глобальный «Paul» Than, у нас есть дополнительная предосторожность, условное условие, которое должно помешать исполнению «Джека», поскольку уже существует переменное «имя» из внешней сферы. Но безрезультатно ...

Принимая во внимание еще более запутанную ситуацию - глобальный «Пол» по-прежнему неповрежден!

Мы назначаем «Дитрих» переменной «имя» из внешний охват только от нашей точки чтения. Поскольку var (s) оцениваются перед функциями и задолго до того, как начнут выполняться объявления тела функции.

И поскольку if(condition){ doesn't create a scope of its own } не имеет значения, насколько глубоко в этом теле функции мы объявляем «имя», переменная. Каждое уравнение было разрешено к настоящему времени.

name = "Dietrich" больше не будет изменять глобальное «имя» внешней области, поскольку переменная «name» уже присутствует в этой (локальной) области видимости функции, поэтому обычно «Дитрих» переписывает местного «Джека» не автостопом «Пола» Вселенной. И это потому, что var name уже определен где-то вдоль текущей области.

Итак, это та же самая причина, по которой он раньше возвращал «неожиданный» «Джек». И это все.

7
задан Community 23 May 2017 в 12:09
поделиться

2 ответа

Хорошо вот ответ, который я закончил тем, что нашел: вместо того, чтобы находиться на Пути, каталог с windows.h (в моем случае, C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include) должен был быть установлен во Включать переменной среды.

8
ответ дан 7 December 2019 в 03:23
поделиться

Между прочим, создайте переменную среды %LIB %, имея в виду то же - путь ко всем каталогам lib SDKs

1
ответ дан 7 December 2019 в 03:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: