C++ CCmdUI启用下拉菜单,未设置对象引用

C++ CCmdUI启用下拉菜单,未设置对象引用,c++,visual-studio,object,reference,C++,Visual Studio,Object,Reference,在下面的代码行中: p->m_pOther = (CWnd*)GetDlgItem(ID_ENABLE); 我得到“对象引用未设置为对象的实例” 我正在尝试启用ID_DUPLICATE,这是一个下拉菜单项 如消息所示,p未设置为任何实例。它指向一些未指明的地址。该地址几乎肯定不包含有效的CCmdUI实例。是否为“CCmdUI*p”;是否未将p设置为CCmdUI?CCmdUI是一种类型。它描述了一种东西。该行表示p只能指向CCmdUI对象,但它没有说明它指向哪个CCmdUI。事实上,它甚至

在下面的代码行中:

p->m_pOther = (CWnd*)GetDlgItem(ID_ENABLE);
我得到“对象引用未设置为对象的实例”


我正在尝试启用ID_DUPLICATE,这是一个下拉菜单项

如消息所示,
p
未设置为任何实例。它指向一些未指明的地址。该地址几乎肯定不包含有效的
CCmdUI
实例。是否为“CCmdUI*p”;是否未将p设置为CCmdUI?
CCmdUI
是一种类型。它描述了一种东西。该行表示
p
只能指向
CCmdUI
对象,但它没有说明它指向哪个
CCmdUI
。事实上,它甚至没有明确声明它不指向实例,它只是初始化了。使用
nullptr
显式初始化指针是一个好习惯,以确保它们具有状态。如消息所示,
p
未设置为任何实例。它指向一些未指明的地址。该地址几乎肯定不包含有效的
CCmdUI
实例。是否为“CCmdUI*p”;是否未将p设置为CCmdUI?
CCmdUI
是一种类型。它描述了一种东西。该行表示
p
只能指向
CCmdUI
对象,但它没有说明它指向哪个
CCmdUI
。事实上,它甚至没有明确声明它不指向实例,它只是初始化了。使用
nullptr
显式初始化指针是一个好习惯,以确保它们具有状态。
LRESULT MainTestFramework::OnUpdate(WPARAM wParam, LPARAM lParam)
{
CCmdUI* p;
p->m_pOther = (CWnd*)GetDlgItem(ID_DUPLICATE);
p->Enable(true);
return 0;
}