수색…


소개

이것은 C ++ 컴파일러에서 C 코드가 깨질 내용을 설명합니다.

예약 키워드

첫 번째 예제는 C ++에서 특별한 목적을 가진 키워드입니다. 다음은 C에서는 유효하지만 C ++에서는 유효하지 않습니다.

int class = 5

이 오류는 수정하기 쉽습니다. 변수의 이름을 바꿉니다.

약한 타입의 포인터

C에서 포인터는 C ++에서 명시 적 형변환이 필요한 void* 로 캐스트 될 수 있습니다. 다음은 C ++에서는 불법이지만 C에서는 유효합니다.

void* ptr;
int* intptr = ptr;

명시 적 캐스트를 추가하면이 작업을 수행 할 수 있지만 추가 문제가 발생할 수 있습니다.

고토 또는 스위치

C ++에서는 goto 또는 switch 초기화를 건너 뛸 수 없습니다. 다음은 C에서는 유효하지만 C ++에서는 유효하지 않습니다.

goto foo;
int skipped = 1;
foo;

이러한 버그는 재 설계가 필요할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow