0

我似乎无法让 VC++#pragma warning在模块接口中工作。有什么改变吗?

例子:

module;

#pragma warning( push, 0 )
#include <Windows.h>
#include <ntstatus.h>
#pragma warning( pop )

export module WarningsTest;
export void TestFn();
1>Scanning sources for module dependencies...
1>Module.ixx
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared\ntstatus.h(66,14): warning C4005: 'STATUS_WAIT_0': macro redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\winnt.h(2510): message : see previous definition of 'STATUS_WAIT_0'

此外,如何对标头包含作为一个模块进行这种警告管理?IE

module;

#pragma warning( push, 0 )
import <Windows.h>;
import <ntstatus.h>;
#pragma warning( pop )

export module WarningsTest;
export void TestFn();

也会导致警告。这是同一个错误的一部分还是有特定的方法来禁用来自外部模块头的警告?

4

0 回答 0