为什么我运行:
m_IPEdit1.GetAddress(B1[0],B1[1],B1[2],B1[3]);
时总是出错呢?错在哪?
m_IPEdit1.GetAddress(B1[0],B1[1],B1[2],B1[3]);
时总是出错呢?错在哪?
解决方案 »
- 用C#的同学们,帮个忙
- openCV 与 VS中自带的Cimage类库 有什么区别??
- 请教一个关于CInternetSession类使用的问题?
- 请问钩子如何注入到指定程序中?有代码,来看看.
- CFileDialog用lpstrInitialDir 指定目录后目录如果不存在,如何自动创建这个目录?
- 一个工程,在VC6下编译后能正常运行,但到.net2003下就不行了
- 连接Oracle时Provider=MSDAORA.1和Provider=OraOLEDB.Oracle有何区别
- GetUrlCacheEntryInfo编译的问题
- 下面的getitem什么意思?
- 如何得到当前鼠标德句炳?
- 请问如何设置CListCtrl的行高
- 如何消除ADO编译警告
int GetAddress( BYTE& nField0, BYTE& nField1, BYTE& nField2, BYTE& nField3 );B1[0]表示的是数组元素的值,而不是其地址!应该是:
m_IPEdit1.GetAddress(&B1[0],&B1[1],&B1[2],&B1[3]);
是老兄看马虎了,:)
原型中是引用传递,不是指针传递。
// In CMyDialog's class declaration
BYTE m_nField1, m_nField2, m_nField3, m_nField4;
BOOL CMyDialog::OnInitDialog ()
{
CDialog::OnInitDialog ();
m_wndIPAddress.SetAddress (m_nField1, m_nField2,
m_nField3, m_nField4);
return TRUE;
}void CMyDialog::OnOK ()
{
m_wndIPAddress.GetAddress (m_nField1, m_nField2,
m_nField3, m_nField4);
CDialog::OnOK ();
}
你的B1数组是BYTE型的吗?你是不是用了char型的?
如果是,应该改成BYTE类型的。引用没有指针那么灵活的隐式转换。
GetDlgItem(IDC_IPADDRESS)->GetWindowText(str);