C3688 잘못된 리터럴 접두사 'X'입니다. 리터럴 연산자 또는 리터럴 연산자 템플릿 '연산자 ""X'을(를) 찾을 수 없습니다.

비주얼 스튜디오 2008에서 2015로 마이그레이션 중 아래와 같은 에러가 있었습니다.

C3688 잘못된 리터럴 접두사 'X'입니다. 리터럴 연산자 또는 리터럴 연산자 템플릿 '연산자 ""X'을(를) 찾을 수 없습니다.
오류(활성) 사용자 정의 리터럴 연산자가 없습니다.
C2664 'int sprintf(char *const ,const char *const ,...)': 인수 2을(를) 'std::size_t'에서 'const char *const '(으)로 변환할 수 없습니다.

sprintf(sname, "Sheet"X, sheetNo++);

이런 코드에서 발생했는데 X는 아래와 같은 디파인 정의 된 놈이었습니다.

#elif _MSC_VER>=1400 // VS 2005
#define X  "%Iu"

아래와 같이 직접 수정 적용해줬습니다.

sprintf(sname, "Sheet%Iu", sheetNo++);

댓글

이 블로그의 인기 게시물

'xxx.exe' 프로그램을 시작할 수 없습니다. 지정된 파일을 찾을 수 없습니다.

goorm IDE에서 node.js 프로젝트로 Hello World Simple Server 만들어 띄워보기

애드센스 수익을 웨스턴 유니온으로 수표대신 현금으로 지급 받아보자.