在线等 关于c++编程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:08:07
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString("1000以下");
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString("1000元-2000元");
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString("2000-3000");
((CComboBox*)GetDlgItem(IDC_COMBO2))->AddString("3000以上");
这段有问题吗?
为什么编译的时候说错呢
‘error C2065: 'IDC_COMBO2' : undeclared identifier
F:\vc++程序\lesson8\Prop\Prop3.cpp(59) : error C2227: left of '->AddString' must point to class/struct/union
F:\vc++程序\lesson8\Prop\Prop3.cpp(60) : error C2227: left of '->AddString' must point to class/struct/union
F:\vc++程序\lesson8\Prop\Prop3.cpp(61) : error C2227: left of '->AddString' must point to class/struct/union
F:\vc++程序\lesson8\Prop\Prop3.cpp(62) : error C2227: left of '->AddString' must point to class/struct/union
Error executing cl.exe.

IDC_COMBO2这个资源的ID你可能写错了,它不存在
GetDlgItem返回一个CWnd类,这是一个CComboBox的父类,再不能把他转为CComboBox类了,因为只可以子类转父类,不可以父类转子类

说你的((CComboBox*)GetDlgItem(IDC_COMBO2))这部分需要是AddString所在的class/struct/union的对象指针;

申明如:
类名 *对象指针名

对象指针名 -> 成员名