首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于MFC的初学者级有关问题

2013-01-23 
关于MFC的菜鸟级问题各位大神,本人菜鸟头一次编写MFC,欲写一个给COMBOBOX选到磁盘分区列表,书上说把此函数

关于MFC的菜鸟级问题
各位大神,本人菜鸟头一次编写MFC,欲写一个给COMBOBOX选到磁盘分区列表,书上说把此函数添加到OnInitDialog()函数最后面即可,但是添加后报错,希望大神指点下。

我写的代码如下:

//前面是BOOL CImmunityUDlg::OnInitDialog(){}
void CImmunityUDlg::InitComboDriver()
{
char szDriverString[MAXBYTE] = {0};
char *pTmp = NULL;

SetDlgItemText(IDC_COMBO_DRIVER, _T("请选择欲免疫的盘符..."));

GetLogicalDriveStrings(MAXBYTE,szDriverString);

pTmp = szDriverString;

while (*pTmp)
{
m_ComboDriver.AddString(pTmp);//m_ComboDriver为利用类向导建立的CComboBox类型的memberpTmp += 4;
}
}

报错信息如下

D:\Microsoft Visual Studio\MyProjects\ImmunityU\ImmunityUDlg.cpp(121) : error C2039: 'InitComboDriver' : is not a member of 'CImmunityUDlg'
        d:\microsoft visual studio\myprojects\immunityu\immunityudlg.h(14) : see declaration of 'CImmunityUDlg'
D:\Microsoft Visual Studio\MyProjects\ImmunityU\ImmunityUDlg.cpp(122) : error C2601: 'InitComboDriver' : local function definitions are illegal
D:\Microsoft Visual Studio\MyProjects\ImmunityU\ImmunityUDlg.cpp(122) : fatal error C1903: unable to recover from previous error(s); stopping compilation
还请高手多多指教!!
[解决办法]
在CImmunityUDlg的头文件添加InitComboDriver的声明:

void InitComboDriver();
[解决办法]
朋友多看看书啊,你代码有个死循环

这么改:


if (pTmp)  // 判断指针是否有效这样写,而不是*ptmp,
{
m_ComboDriver.AddString(pTmp);//m_ComboDriver为利用类向导建立的CComboBox类型的member pTmp += 4;
}

热点排行