2011-08-01 2 views
2

std::을 입력 할 때 visual express 2008이 system의 옵션을주지 않는 이유는 무엇입니까? <cstdlib>의 일부입니까?비주얼 익스프레스 2008은 왜 자동 완성 표준 : : 시스템이 아니야

+3

@Kyle Joseph 왜 이런 일이 일어날 지 모르겠지만 C++로 싸여있는 거의 모든 C 표준 헤더에 대해서도 눈치 챘습니다. 함수 이름을 자동 완성하지는 않지만 입력하고 괄호를 열면 인수와 유형을 보여주는 팝업이 나타납니다. 내게 Intellisense 버그 같아. – Praetorian

답변

2

시스템이 최상위 네임 스페이스에 정의되어 있으며 using 문을 통해 std에만 포함될 수 있습니다. 그렇게하면 실제로 네임 스페이스 std에 있지 않고 대신 액세스 할 수 있습니다.

최상위 또는 전역 네임 스페이스 ::가 하나 있습니다. 따라서 :: global은 그 함수가 될 것입니다. 그들은이 동작을 설명하는

void system(...); 
namespace std { using ::system; } 

과 같은 기능을 구현한다면. 시스템 서명이 잘못되었을 수 있습니다. 확인하지 않았습니다.

+0

재미있는 것은 확실히 논리적으로 들립니다. 최상위 네임 스페이스로 간주되는 것은 무엇이며'std'는 이들 최상위 네임 스페이스 중 하나의 일부라는 것을 의미합니까? – UzumakiDev

관련 문제