Utilizzo di C++ con Visual Studio 2010. Sono in procinto di convertire il mio NULL
in nullptr
. Con il mio codice questo va bene. Tuttavia, se faccio una chiamata a WinAPI quali:Utilizzo di nullptr nelle chiamate alle funzioni API?
__checkReturn WINOLEAPI OleInitialize(IN LPVOID pvReserved);
normalmente avrei chiamato questo tipo:
::OleInitialize(NULL);
Posso tranquillamente usare nullptr
dove avrei usato NULL
in una chiamata di questo tipo ?
Cioè, posso fare questo:
::OleInitialize(nullptr);
anche lo stesso con MFC api:
CFileDialog fileDlg(TRUE, ".txt", NULL, 0, strFilter);
Posso sostituire
CFileDialog fileDlg(TRUE, ".txt", nullptr, 0, strFilter);
Sto indovinando che posso, ma io voglio solo assicurarmi che non ci siano trucchi.
UPDATE
Così ho passato e sostituisce tutte le mie NULL di con nullptr e sembra funzionare quasi ovunque ma sto ottenendo l'errore sotto sulla riga seguente:
propertyItem = new CMFCPropertyGridProperty(_T("SomeName"),
"SomeValue", "SomeDescription", nullptr, nullptr, nullptr, nullptr);
8> c: \ something \ something.cpp (118): errore C2664: 'CMFCPropertyGridProperty :: CMFCPropertyGridProperty (const CString &, const COleVariant & , LPCTSTR, DWORD_PTR, LPCTSTR, LPCTSTR, LPCTSTR)': non possono convertire parametro 4 da 'nullptr' a 'DWORD_PTR' 8> A nullptr nativo può essere convertita bool o utilizzando reinterpret_cast, a un tipo integrale
(Nota CMFCPropertyGridProperty è una classe Microsoft MFC) Che cosa significa?
Non sono sicuro che sia esattamente vero leggendo [qui] (http://stackoverflow.com/questions/1282295/what-exactly-is-nullptr-in-c0x). Se un NULL è stato collocato in un posto dove dovrebbe essere stato 0 prima di sostituire semplicemente tutto il NULL con nullptr, si romperebbe il codice. Vedo ovunque tutorial che impostano maniglie e tipi di tipi di variabili su NULL. Tipi che non dovrebbero essere assegnati come nullptr. –
@Joe: La premessa della mia risposta è che NULL veniva usato correttamente, nel contesto dei puntatori. – GManNickG
@Gman: Puoi commentare l'aggiornamento alla mia domanda – User