我正在尝试创建一个文件映射对象,但遇到了一些编译器错误。(我正在使用 MinGW GCC-8.2.0-3)
我从 VS-code 收到以下错误:too many initializer values
在线GENERIC_READ
。
HANDLE CreateFile(
L"filename.txt",
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL
);
编译项目时出现以下错误:
main.cpp: In function 'int main()':
main.cpp:18:5: error: expression list treated as compound expression in initializer [-fpermissive]
);
^
main.cpp:18:5: error: invalid conversion from 'int' to 'HANDLE' {aka 'void*'} [-fpermissive]
我尝试替换GENERIC_READ
为,GENERIC_READ | GENERIC_WRITE
但错误too many initializer value
仍然存在,但仅在GENERIC_READ
. 我尝试过但无济于事的另一件事是CreateFile
用CreateFileA
. 我包括Windows.h
.
我真的很困惑为什么会发生这种情况,因为在WIN32 API 文档下它指出dwDesiredAccess
它通常用作GENERIC_READ
orGENERIC_WRITE
或GENERIC_READ | GENERIC_WRITE
提前致谢!