Использование C ++ с Visual Studio 2010. Я нахожусь в процессе преобразования моих NULL
в nullptr
. С моим кодом это нормально. Однако, если я позвоню в WINAPI, например:
__checkReturn WINOLEAPI OleInitialize(IN LPVOID pvReserved);
обычно я бы назвал это так:
::OleInitialize(NULL);
Можно ли безопасно использовать nullptr
там, где я бы использовал NULL
при таком вызове?
То есть я могу сделать это:
::OleInitialize(nullptr);
Также как и MFC api:
CFileDialog fileDlg(TRUE, ".txt", NULL, 0, strFilter);
Могу ли я заменить
CFileDialog fileDlg(TRUE, ".txt", nullptr, 0, strFilter);
Полагаю, что могу, но я просто хочу убедиться, что нет ошибок.
UPDATE
Итак, я прошел и заменил все мои NULL на nullptr, и, похоже, он работает почти везде, но я получаю следующую ошибку в следующей строке:
propertyItem = new CMFCPropertyGridProperty(_T("SomeName"),
"SomeValue", "SomeDescription", nullptr, nullptr, nullptr, nullptr);
8> c: \ something \ something.cpp (118): ошибка C2664:
'CMFCPropertyGridProperty :: CMFCPropertyGridProperty (const CString
&, const COleVariant &, LPCTSTR, DWORD_PTR, LPCTSTR, LPCTSTR, LPCTSTR) ':
невозможно преобразовать параметр 4 из 'nullptr' в 'DWORD_PTR' 8> A
native nullptr может быть преобразован только в bool или, используя
reinterpret_cast, к целочисленному типу
(Обратите внимание, что CMFCPropertyGridProperty - это класс Microsoft MFC). Что это значит?