나는 C에 C의 ++의 구조체로 변환하지만 "선언되지 않은 식별자"를 얻고 유지하기 위해 노력하고 있어요? C++에는 구조체를 참조하는 데 다른 구문이 있습니까?C에서 구조체의 차이와 C++
struct KEY_STATE
{
bool kSHIFT; //if the shift key is pressed
bool kCAPSLOCK; //if the caps lock key is pressed down
bool kCTRL; //if the control key is pressed down
bool kALT; //if the alt key is pressed down
};
I 다른 구조 내부 형 KEY_STATE의 변수를 사용하고 : 오류 C2061에
typedef struct _DEVICE_EXTENSION
{
WDFDEVICE WdfDevice;
KEY_STATE kState;
} DEVICE_EXTENSION, *PDEVICE_EXTENSION;
결과 구문 오류 : 식별자 'KEY_STATE'
을 ... 라인에 KEY_STATE kState; 차이가 나는 경우 WDK 컴파일러로 빌드 중입니다. 이것은 물론 헤더 파일에 있습니다. 나는 WDF와 C
This is the MSDN article for C2061에 C++ WDM 드라이버를 포팅하고있다.
이니셜
는 호로 수있다. 이 문제를 피하려면 선언자를 괄호로 묶거나 typedef로 만드십시오.컴파일러가 클래스 템플릿 인수로 식을 감지 할 때이 오류도 발생할 수 있습니다; typename을 사용하여 컴파일러에 유형임을 알립니다. 구조체 형식 정의를 위해 KEY_STATE 변경
여전히이 오류가 발생합니다 실제로 더 많이 발생합니다. 너무 많은 괄호 안에 자유로운 괄호 나 사물이 없습니다. 즉, 기사에서 제안하는 다른 것입니다.
감사합니다 Timbo, 내 문제를 해결했습니다 :) –