Самый надежный «он определен» проверяется с помощью typeof
if (typeof elem === 'undefined')
Если вы просто проверяете, чтобы определенная переменная назначала значение по умолчанию, для удобного чтения одного лайнера вы часто можете сделать это:
elem = elem || defaultElem;
Часто бывает полезно использовать: Идиоматический способ установки значения по умолчанию в javascript
Существует также этот один лайнер, используя ключевое слово typeof:
elem = (typeof elem === 'undefined') ? defaultElem : elem;
Всего #include <windows.h>
прежде <gl/gl.h>
или <gl/glu.h>
. Это необходимо для некоторых типов, такой как WINGDIAPI
и APIENTRY
.
Кажется, что Вы включаете заголовок C в проекте C++. Попытайтесь включить Ваш включать оператор внутри:
extern "C" {
#include "gl.h"
}
Первая возможность рассмотреть состоит в том, что сообщения компилятора на самом деле право . Конечно, были номера строки, включенные в те сообщения об ошибках, поэтому Вы посмотрели на незаконные строки, и некоторые строки, предшествующие им, чтобы попытаться определить то, что могло бы действительно быть причиной?
Были там какие-либо другие сообщения, которые появились перед теми, Вы процитировали? (Недостающий заголовок, например?) Всегда начинают обращаться к сообщениям компилятора от первого; более поздние являются иногда просто побочными эффектами, вызванными этим.
можно ли воспроизвести проблему в простом проекте? Достаточно просто записать #include <gl.h>
в в других отношениях пустом файле и попытке скомпилировать его? Или есть ли больше об этом исходном коде, который вызывает ошибку произойти?
Помнят, что Вы тот здесь с доступом к Вашему коду; вопросами, которые я задаю выше, являются виды вещей, которые необходимо рассмотреть, так как Вы не можете всегда сделать, чтобы кто-то еще отладил Ваш код для Вас.