2014-06-23 3 views
0

나는 콜백 메소드를 작성하고 내가 vs2012에서 프로젝트를 컴파일하려고 할 때, 나는 다음과 같은 오류가 점점 오전 : 같은 줄에오류 C4430 : 누락 된 형식 지정자 - int가 가정됩니까?

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
error C2143: syntax error : missing ',' before '&' 

양쪽 오류 존재.

#include <windows.h> 
#include "atlstr.h" 

/////////////////////////////////////////////////////////////////////////////// 
class CInf; 
typedef BOOL (*PENUMDEVCALLBACK)(CInf* inf, const CString& devname, const CString& instsecname, const CStringArray& devid, PVOID context, DWORD& code); 

나는 내가 afxcoll.h을 포함하는 경우 때문에 오류가 CStringArray& 인수에 존재하는 것이라고 생각 :

는이 내가 노력하고 다음 코드입니다.

the fatal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>.

은 내가 WINDOWS.H를 제거합니다. 위의 오류가 사라졌지만 windows.h 헤더도 필요합니다.

windows.hafxcoll.h을 같은 파일에 포함시키는 법을 아십시오.

+0

나는 afx.h와 afxcoll.h를 포함해야한다고 생각한다. 전자의 경우 (간접적으로)'windows.h' –

답변

0

격리 된 부분 만 포함 할 수 없습니다. CStringArray를 사용하려면 afx.h 또는 afxwin.h 파일을 포함해야합니다.

CString 만 사용하는 것이 가능합니다. CString의 배열을 원한다면 std :: vector를 사용하는 것보다 완전한 MFC가 필요하지 않습니다. CString은 모든 STL 컨테이너에서 완벽하게 작동합니다.

관련 문제