#include <stdio.h>
#include <windows.h>
using namespace std;
int main() {
char s[] = "Hello\n";
HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
unsigned long cChars;
WriteConsole(stdout, s, lstrlen(s), &cChars, NULL);
}
结果调用WriteConsole结果时:error: declaration of '_iob' as array of references
包括标准输入输出错误
但是当我注释掉stdio.h
,它编译OK。这里有什么问题?
编译器是MinGW。
它是否给文件名行号与错误一起?改变#include的顺序是否改变了什么? –
是的,错误指向标准输出,这是问题,它是保留名称。 – rsk82