2016-11-17 1 views
1

Eclipse CDT에서 올바른 C++ 14 구문에 대한 구문 오류가 발생합니다. 모든 것이 컴파일되고 실행되지만 구문 강조 표시가 깨졌습니다.C++ 14 Eclipse CDT에서 구문을 컴파일하지만 구문 오류 (인덱서)로 표시

MinGW와 Eclipse를 실행 중입니다. C++ 14 프로그램이 컴파일되고 실행되지만 잘못된 구문 강조/구문 검사가 발생합니다.

여기 내 소스 코드 :

#include <iostream> 
auto main() -> int 
{ 
    //Binary Literals C++14 with Digit separators C++14 
    auto seven = int{0b0000'0111}; 

    std::cout << seven << std::endl; 
    std::cout << __cplusplus << std::endl; 
    return int{0}; 
} 

그리고 여기에 출력이/로그를 구축합니다. 제 컴파일러 설정
(-D__GXX_EXPERIMENTAL_CXX0X__ -O0 -g3 -Wall -c -fmessage-length=0 -std=c++14)과 강조 표시가 나타납니다.

enter image description here

나는 그렇게 구문 detecition는 C++ (14) 구문을 허용 설정은 어떻게해야합니까?

편집 : 인덱서가 맞는 것 같습니다. 의도 한대로 인덱서 작업을 수행 할 수 없습니다.

Windows 7에서 MinGW를 사용하고 있습니다. Providers를 열고 "CDT Built-in Compiler Settings MinGW"를 클릭하면 -std=c++14이 추가됩니다. 따라서 전체 문자열은 적용한 후 ${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}" -std=c++14이고 프로젝트 -> 색인 -> 내 오류 제거를위한 재구성을 사용합니다. 구문 오류가 계속 발생합니다.

이것은 본질적으로 인덱서가 the FAQ to get C++11 recognized에 언급 한 내용입니다.

최신 MinGW 버전이 설치되어 있습니다. g++ --version으로 전화하면 다음과 같이 응답합니다 : g++ (GCC) 5.3.0. There is no manual for 5.3하지만 5.4 버전의 대부분이 내 버전에 유효하다고 가정합니다.

+0

강조 표시된 행 위로 마우스를 가져 가면 어떤 메시지가 나타 납니까? – PeterSW

+0

좋아, 나는 스스로를 "Syntax error"라고 생각한다. – PeterSW

+0

@PeterSW : 예 - 실제로 구문 오류가 나타납니다. – Johannes

답변

1

문제는 C++ 14에 대한 지원이 아직 추가되지 않은 것으로 보입니다.

Here is a bugreport 모든 C++ 14 문제를 수집합니다. 다른 버그 보고서가 나열된 섹션이 있습니다. 그중 구체적으로 Binary literals (N3472), Single-quotation-mark as digit separator (N3781)을 언급하는 버그 451086.

그래서이 문제는 이미 알려져 있으며 향후 어느 시점에서 고민 할 것입니다.

관련 문제