Я решил попробовать STL и использовать vector
вместо пользовательского класса расширяемого массива. Проблема в том, что я не могу ничего скомпилировать. Если я сделаю что-то вроде этого:
#include "stdafx.h"
#include <vector>
std::vector<PITEMID_CHILD> APIDL;
Я получаю кучу сообщений, подобных этому:
1> c: \ program files (x86) \ microsoft visual studio \ 2017 \ enterprise \ vc \ tools \ msvc \ 14.16.27023 \ include \ cstdint (23): ошибка C2039: 'int_least8_t': не является участником "глобального пространства имен"
Если я перейду на это:
#include <vector>
#include "stdafx.h"
std::vector<PITEMID_CHILD> APIDL;
Я понял:
1> x: \ win32testing \ vectortest \ vectortest.cpp (4): ошибка C2039: «вектор»: не является членом «std»
Внутри stdafx.h это:
#pragma once
#include <windows.h>
#include "targetver.h"
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <shlobj.h>
#include <exdisp.h>
#include <shellapi.h>
#include <shlwapi.h>
#include <atlbase.h>
#include <atlalloc.h>
#include <CommonControls.h>
// reference additional headers your program requires here
#include <CommCtrl.h>
Есть идеи, что происходит?