다음을 통해 공유


경고 C26406

원시 포인터 owner<T> 를 (r.3)에 할당하지 마세요.

이 경고는 C++ 핵심 지침에서 R.3을 적용합니다. 자세한 내용은 C++ 핵심 지침 R.3을 참조하세요.

설명

소유자는 할당 또는 다른 소유자로부터 초기화됩니다. 이 경고는 원시 포인터의 값을 소유자 포인터에 할당할 때 발생합니다. 원시 포인터는 소유권 이전을 보장하지 않습니다. 원래 소유자는 여전히 리소스를 보유하고 릴리스를 시도할 수 있습니다. 소유자의 값을 원시 포인터에 할당해도 됩니다. 원시 포인터는 리소스에 액세스하는 데 유효한 클라이언트이지만 관리하지는 않습니다.

코드 분석 이름: DONT_ASSIGN_RAW_TO_OWNER

예시

개체 주소 사용:

이 샘플에서는 소유자 포인터socket에 대한 주소의 defaultSocket 소유권을 할당하려고 시도합니다.

gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406