...\packages\Microsoft.Windows.ImplementationLibrary.1.0.240122.1\include\wil\result.h
Код: Выделить всё
if (auto pNewRaw = details::ProcessHeapAlloc(0, sizeof(Node)))
{
auto pNew = new (pNewRaw) Node{threadId};
В моем случае я получаю ошибки компиляции в строке «auto pNew = new (pNewRaw) Node{threadId};»
и даже не могу догадаться, как правильно обойти проблему..
Это новый стандарт C++ 20?
1>....\packages\Microsoft.Windows.ImplementationLibrary. 1.0.240122.1\include\wil\result.h(419,38): ошибка C2061: синтаксическая ошибка: идентификатор 'pNewRaw'
1>....\packages\Microsoft.Windows.ImplementationLibrary.1.0.240122.1\ include\wil\result.h(419,51): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '{'
1>....\packages\Microsoft.Windows.ImplementationLibrary.1.0.240122.1\include\wil\result.h(419,60): ошибка C2143: синтаксическая ошибка: отсутствует ';' перед '}'
1>....\packages\Microsoft.Windows.ImplementationLibrary.1.0.240122.1\include\wil\result.h(425,25): ошибка C3536: "pNew": невозможно использовать перед его инициализацией
1>....\packages\Microsoft.Windows.ImplementationLibrary.1.0.240122.1\include\wil\result.h(426,32): ошибка C2664: 'PVOID _InterlockedCompareExchangePointer(летучий PVOID * ,PVOID,PVOID)': невозможно преобразовать аргумент 2 из 'int' в 'PVOID'
Подробнее здесь: https://stackoverflow.com/questions/786 ... il-library