关于MFC的初学者级有关问题
关于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类型的member pTmp += 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();
------解决方案--------------------
朋友多看看书啊,你代码有个死循环
这么改:
各位大神,本人菜鸟头一次编写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类型的member pTmp += 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;
}