2012-10-29 9 views
7

default_random_engine 및 uniform_real_distribution을 임의의 머리글로 사용하여 임의의 이중 숫자를 생성하려고합니다.'std :: default_random_engine'유형을 확인할 수 없음

C/C++ & MinGW 용 Eclipse를 사용하여 프로젝트를 빌드합니다.

  • 이클립스 버전 : 4.2.1
  • 이클립스 CDT C/C++ 개발 도구 버전 : 8.1.1.201209170703
  • 이클립스 CDT GCC 크로스 컴파일러 지원 버전 : 1.1.0.201209170703
  • 는 MinGW 버전 : 4.6.2 ("gcc -v"를 사용하여 확인)

편집기에 std :: default_random_engine을 입력하면 "Type 'std :: default_random_engine'을 (를) 확인할 수 없음을 묻는 메시지가 나타납니다.

이미 C++ 11 기능

다음

나는 목록 초기화 벡터 쓰고의 지원을 테스트 할 수있는 범위를 지원하기 위해 내 프로젝트를 구성한 C++ 11, 코드가 잘 작동합니다.

vector<int> ivec = {1, 2, 3}; 
    for (int i : ivec) 
     cout << i << " "; 
    cout << endl; 

"std :: default_random_engine"의 문제점은 무엇입니까?

+2

당신의 컴파일러와 함께 제공 된 libstdC++의 새로운 지원하지 않을 가능성이 있습니다 표준 라이브러리 기능을 제공하지만 컴파일러가 최신 언어 기능을 지원합니다. –

+0

시도하십시오 :: tr1 :: default_random_engine –

+1

당신 _do_ 포함''? 또한, Eclipse가 그것을 인식하지 못한다고해도 어쨌든 올바르게 빌드됩니까? –

답변

6

업데이트 : 원래 답변을 올린 지 오래되었으며 오래되어되었습니다. 이클립스 케플러 (ID 20130614-0229 빌드)가에 다음 설정을>> 속성> C/C++ 빌드 프로젝트에서를 추가

  • 에 충분하다에 : 나는 (2014년 3월 15일)는 오늘 재확인 도구 설정GCC C++ 컴파일러> 기타-std=c++11 플래그,

  • 다음 창에서> 환경 설정> C/C++>을 발견 탭> 설정을 빌드 선택 CDT GCC 빌트인 컴파일러 설정 그리고 명령에 -std=c++11 플래그를 추가하여 컴파일러 사양을 얻습니다. 내 컴퓨터에 그것은 변경 후 다음과 같습니다

    ${COMMAND} -E -P -v -dD -std=c++11 "${INPUTS}"

  • 깨끗하고 프로젝트 색인 (프로젝트> C/C++ 색인>를 재 구축) 이클립스 오류를 캐시하는 경향으로 모두를 다시 메시지를 표시하고 설정을 변경 한 후에 사라 졌음을 표시합니다.

내 컴퓨터에서 작동합니다. 그것이 당신에게 달린 것이 아니라면,이 접근법의 정확성에 대해 확신 할 수 없거나 내 컴퓨터에서해야 할 필요는 없지만, 이것을 C++11 full support on Eclipse에게 줄 수 있습니다. 2014 년 3 월 7 일 claim 사용자는 위의 방법과 달리 도움이된다는 사실을 알고있었습니다.


원래의 게시물이 이제 구식 :

IDE에서 잘못된 오류 것으로 보인다.

프로젝트 속성을 클릭 한 다음 C/C++ 일반> 코드 분석> 구문 및 의미 상 오류를 클릭하고 유형을 확인할 수 없도록 선택하십시오..

내 자신의 프로젝트에서 잘못된 인수, 잘못된 과부하, 심볼이 해결되지 않은 등 많은 구문 및 시맨틱 오류를 비활성화해야했습니다. 이러한 가짜 오류는 Codan에서 발생합니다.

(당신은하지만 이것에 대해 확실하지 당신을 정의/처리기 매크로에 __GXX_EXPERIMENTAL_CXX0X__를 추가해야 할 수도 있습니다.)

+0

그리고 도움이 되었습니까? 동일한 코드가 Eclipse 외부에서 컴파일됩니까? – Ali

+0

고마워요! 너무 늦게 대답 해 주셔서 죄송합니다. 아주 처음에 저는 약간의 방법이 더 경미한 경우 궁금했지만 최근에는 그러한 오류를 만났습니다. 그래서 나는 당신이 제안한대로합니다. – zyy7259

+0

죄송합니다.이 웹 사이트를 사용하는 법을 배우고 있습니다. 그리고 내 의견을 편집하고 싶습니다. "댓글은 5 분 동안 만 편집 할 수 있습니다." 회신을 보지 못했고 첫 번째 의견을 삭제했습니다. 많은 도움이됩니다. 이제 오류가 사라집니다. Eclipse 외부에서 코드를 컴파일하지 않았습니다. – zyy7259

관련 문제