1
직접 입력 8을 사용하는 일부 코드를 컴파일하는 데 문제가 있습니다. 내 코드의 다른 모든 것은 잘 작동하지만 입력 코드가 컴파일되면 경고 및 오류 시퀀스가 나타납니다.Typedef 경고 및 구문 오류 LPINPUT
1> Input.cpp
1>c:\program files (x86)\windows kits\8.0\include\um\winuser.h(5826): warning C4091: 'typedef ' : ignored on left of 'tagINPUT' when no variable is declared
1>c:\program files (x86)\windows kits\8.0\include\um\winuser.h(5826): error C2143: syntax error : missing ';' before ','
1>c:\program files (x86)\windows kits\8.0\include\um\winuser.h(5826): error C2059: syntax error : ','
1>c:\program files (x86)\windows kits\8.0\include\um\winuser.h(5833): error C2061: syntax error : identifier 'LPINPUT'
이것은 Visual Studio 2012입니다.이 문제의 원인은 무엇입니까? 세미콜론과 쉼표가 없기 때문에 나머지 코드를 검사했지만 아무 것도 찾을 수 없었습니다. 이전에 비슷한 문제가 있었나요?
여기
#define INPUT_MOUSE 0
#define INPUT_KEYBOARD 1
#define INPUT_HARDWARE 2
typedef struct tagINPUT {
DWORD type;
union
{
MOUSEINPUT mi;
KEYBDINPUT ki;
HARDWAREINPUT hi;
};
line 5826 } INPUT, *PINPUT, FAR* LPINPUT;
현재는 Input.H에 포함 winuser.h에서 주변 라인입니다
#include<dinput.h>
#include"MemUtils.h"
하고 Input.cpp 단지 내가 사용했다 Input.H
줄 5826의 내용과 winuser.h의 주변 줄이이 질문과 관련이있을 것이라고 생각하면 맞을 것입니다. – WhozCraig
input.cpp의 포함을 표시 할 수 있습니까? –
모두 제안 사항을 추가했습니다. –