-2
내가 가정에 고유 한 포인터에 대한 다음과 같은 질문과 소유권 이전 이있는PTR 독특하고 이동 의미가
class Base
{
Base()
{
}
void foo(unique_ptr<Base> p)
{
}
};
void main()
{
Base b;
b.foo(std::unique_ptr<Base> p(new Base);
}
위의 코드 섹션은 시간적 고유의 포인터를 생성하고 난 컴파일 오류가 예상을 다음과 같습니다. 그러나 코드가 컴파일됩니다. 나는 유일하게 유효한 함수 프로토 타입은
void foo(unique_ptr<Base> && p)
내가 그와 함수의 두 서명이 유효 놀라게 할 생각 것으로 예상. rvalue 참조를 전달할 때 void foo (unique_ptr p)가 유효한 이유를 설명해 주시겠습니까?
일치하지 않는 괄호로 인해 코드가 컴파일되지 않습니다. –