我想知道是否有人可以向我解釋這個宏。C++宏導致空指針
#define Q_DECLARE_PRIVATE(Class) \
inline Class##Private* d_func() { return reinterpret_cast<Class##Private
*>(d_ptr); } \
inline const Class##Private* d_func() const { return reinterpret_cast<const
Class##Private *>(d_ptr); } \
friend class Class##Private;
我有一個使用QT的應用程序,它在以下代碼片段的最後一行中發生訪問衝突異常時崩潰。
class Q_GUI_EXPORT QWidget : public QObject, public QPaintDevice
{
Q_OBJECT
Q_DECLARE_PRIVATE(QWidget)
,什麼可以在最後一行導致空指針操作?
當我實例化一個繼承自'QListView'的類時,這條線被擊中,從QWidget中間接繼承問題中顯示的QWidget。 –
當異常發生時,您可以確認'this'指針是否爲NULL? –