Avviso C26406
Non assegnare un puntatore non elaborato a un oggetto
owner<T>
(r.3)
Questo avviso applica R.3 dalle linee guida di base di C++. Per altre informazioni, vedere Linee guida di base di C++R.3.
Osservazioni:
I proprietari vengono inizializzati dalle allocazioni o da altri proprietari. Questo avviso si verifica quando si assegna un valore da un puntatore non elaborato a un puntatore proprietario. I puntatori non elaborati non garantiscono il trasferimento della proprietà; il proprietario originale può comunque contenere la risorsa e tentare di rilasciarla. È possibile assegnare un valore da un proprietario a un puntatore non elaborato. I puntatori non elaborati sono client validi per accedere alle risorse, ma non per gestirli.
Nome dell'analisi del codice: DONT_ASSIGN_RAW_TO_OWNER
Esempio
Utilizzo dell'indirizzo dell'oggetto:
Questo esempio tenta di assegnare la proprietà dell'indirizzo di defaultSocket
al puntatore socket
proprietario :
gsl::owner<Socket*> socket = defaultSocket ? &defaultSocket : new Socket(); // C26406