Weird Kompilierungsfehler im Umgang mit Winnt.h

Wenn ich versuche, eine Datei zu kompilieren, die winnt.h über windows.h enthält, wird die folgende Fehlermeldung angezeigt:

MyGl.cpp
..\microsoft sdks\windows\v6.0a\include\winnt.h(964) : error C2988: unrecognizable template declaration/definition
..\microsoft sdks\windows\v6.0a\include\winnt.h(964) : error C2059: syntax error : '&'

Sie zeigen auf die folgenden Zeilen in Winnt.h

extern "C++" // templates cannot be declared to have 'C' linkage
template <typename T, size_t N>
char (*RtlpNumberOf( UNALIGNED T (&)[N] ))[N];

#define RTL_NUMBER_OF_V2(A) (sizeof(*RtlpNumberOf(A)))

Irgendwelche Ideen für was ist los?

Mein Compiler:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage