«incomplete-type» 태그된 질문

6
불완전한 유형의 std :: unique_ptr은 컴파일되지 않습니다
나는 pimpl-idiom을 std::unique_ptr다음 과 함께 사용하고 있습니다 : class window { window(const rectangle& rect); private: class window_impl; // defined elsewhere std::unique_ptr<window_impl> impl_; // won't compile }; 그러나 304 줄에서 불완전한 유형의 사용과 관련하여 컴파일 오류가 발생합니다 <memory>. sizeof불완전한 유형 ' uixx::window::window_impl' 에 ' '을 (를) 잘못 적용했습니다. 내가 아는 std::unique_ptr한 …

1
클래스 템플릿의 중첩 클래스가 특수화를 통해서만 정의 된 코드를 거부하기 위해 Clang이 올바른가요?
다음과 같은 클래스 템플릿이 제공됩니다. template<typename T> struct Outer { struct Inner; auto f(Inner) -> void; }; 우리는 정의 Inner 각 전문 분야에 대해 별도로 합니다 Outer. template<> struct Outer<int>::Inner {}; template<> struct Outer<double>::Inner {}; 그런 다음 멤버 함수를 정의하십시오. f 모든 전문화에 대해 한 번Outer . auto Outer<T>::f(Inner) -> …

2
`std :: declval <T>`에서 사용하기 위해 T는 완전한 타입이어야합니까?
이 예제를 고려하십시오 ( here ). #include &lt;type_traits&gt; #include &lt;iostream&gt; template &lt;typename U&gt; struct A { }; struct B { template &lt;typename F = int&gt; A&lt;F&gt; f() { return A&lt;F&gt;{}; } using default_return_type = decltype(std::declval&lt;B&gt;().f()); }; int main() { B::default_return_type x{}; std::cout &lt;&lt; std::is_same&lt; B::default_return_type, A&lt;int&gt;&gt;::value; } 그것은 gcc9.2에 오류없이 …

1
불완전한 유형에 대한 포인터가 불완전 할 수 있습니까?
수 int (*)[]불완전한 유형을 수? C 2018 6.2.5 1의 말 : 변환 단위 내의 다양한 지점에서, 객체 유형이 불완전 하거나 ( 해당 유형의 객체 크기를 결정 하기에 충분한 정보가 없음) 완료 (충분한 정보가 있음) 될 수 있습니다. 따라서 유형의 크기를 알면 유형이 완전한 것 같습니다. 6.2.6.1 28은 특정 유형의 포인터가 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.