Есть .h-файл, с таким исходным кодом:
#pragma once
#include <Windows.h>
typedef struct _PROCESS_BASIC_INFORMATION32
{
NTSTATUS ExitStatus;
ULONG PebBaseAddress;
ULONG AffinityMask;
DWORD BasePriority;
ULONG uUniqueProcessId;
ULONG uInheritedFromUniqueProcessId;
} PROCESS_BASIC_INFORMATION32, *PPROCESS_BASIC_INFORMATION32;
Этот файл взят с другого проекта, который успешно компилируется. После добавления данного файла в новый проект - Intellisense начал писать identifier 'NTSTATUS' is undefined
. При попытке скомпилировать модуль возникает Error C3646 'ExitStatus': unknown override specifier
и ещё куча ошибок, связанных с этим. При переходе в .cpp-файл (в #include
которого только соответственный .h), Intellisense уже показывает, что NTSTATUS
- это typedef _Return_type_success_(return >= 0) LONG NTSTATUS
с файла bcrypt.h
. Вопрос остаётся прежним: почему .h-файл не видит импортируемые в него типы данных? (хотя в старом проекте при таком же исходном коде он всё видит)
проверьте, виден ли файл bcrypt.h в файлах заголовков проекта и попробуйте добавить
#include "bcrypt.h"
в h-файл, который не видит импортируемые в него типы данных
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Почему алгоритм std::swap() определен в 2 заголовочных файлах: <algorithm> и <utility>?
Правильно ли я понимаю, что массив создается и на куче и на стеке, но как он выбирает, куда ему класть значенияИли он кладет первые три элемента...