Xcode가 올바르게 완료되었지만 예상 한 것과 다릅니다. 실제로 무의식적으로 질문에 대답했습니다. string
의 substr()
방법에 대한 함수 서명이, 당신이 말한대로입니다 : substr()
에
string substr (size_t pos = 0, size_t n = npos) const;
모든 인수가 엑스 코드에 따라서 기본 할당을 가지고, (인수없이) s.substr()
이 때문에 삽입 할 유효한 코드 완성입니다 은 정말s.substr(0, s.npos)
입니다. 기본 인수가있는 여러 표준 C++ 함수를 사용하여이를 확인할 수 있습니다. 이것을 볼 수있는 가장 쉬운 장소는 모든 STL 컨테이너 생성자입니다.
예를 들어 vector
을들 수 있습니다. 우리는 모두 vectors
이 Allocator
일 수 있지만 대부분의 일반 사용에서는 Allocator
이 할당 된 기본 인수가 "충분 함"입니다. 아니나 다를까, vector
생성자에 대한 서명이 있습니다 : 두 경우 모두
explicit vector (const Allocator& = Allocator());
explicit vector (size_type n, const T& value= T(), const Allocator& = Allocator());
는 Allocator
인수는 기본 할당을 가지고 있으며, 두 번째에서 T
기본값은 기본 할당이 있습니다. vector
를 구성 할 때 지금, 엑스 코드에서 알 수 무엇을 살펴 :
제안을 전혀 인수 목록과 실제로 단지 Allocator
취하는 생성자입니다. size_type
만을 사용하는 제안은 size_type
, T
및 Allocator
을 사용하는 생성자 인 실제로 인 입니다.
어떻게 생각 하느냐에 따라 Xcode 버그 일 수도 있고 그렇지 않을 수도 있습니다. 이상적으로는 substr()
과 같은 간단한 함수의 기본 인수로 완성을보고 싶지만 STL 컨테이너 생성자의 경우 거의 볼 필요가 거의 없습니다. 아마 옵션이 될 수도 있지만, 나는 이것이 고쳐 졌을 것으로 기대하지 않을 것이다. 나는 기꺼이 당신과 레이더를 찍었습니다.
지금까지 할 수있는 최선의 방법은 버그 보고서를 제출하는 것입니다. 우수한 설명을 위해 – zneak