对重载函数的调用不明确
场景:“对重载函数的调用不明确”这是咋回事
“对重载函数的调用不明确”这是怎么回事?
// InfoDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "qiqi.h"
#include "InfoDlg.h"
// CInfoDlg 对话框
IMPLEMENT_DYNAMIC(CInfoDlg, CDialog)
CInfoDlg::CInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInfoDlg::IDD, pParent)
, m_tBirth(COleDateTime::GetCurrentTime())
, m_strClass(_T(" "))
, m_strName(_T(" "))
, m_strNo(_T(" "))
, m_strSex(0)
{
}
CInfoDlg::~CInfoDlg()
{
}
void CInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_tBirth);
DDX_Text(pDX, IDC_EDIT_CLASS, m_strClass);
DDV_MaxChars(pDX, m_strClass, 20);
DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 20);
DDX_Text(pDX, IDC_EDIT_NO, m_strNo);
DDV_MaxChars(pDX, m_strNo, 20);
}
BEGIN_MESSAGE_MAP(CInfoDlg, CDialog)
ON_BN_CLICKED(IDOK, &CInfoDlg::OnBnClickedOk)
END_MESSAGE_MAP()
// CInfoDlg 消息处理程序
BOOL CInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CheckRadioButton(IDC_RADIO_M,IDC_RADIO_W,IDC_RADIO_M);
// TODO: 在此添加额外的初始化
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CInfoDlg::OnBnClickedOk()
{
UpdateData();
m_strClass.TrimLeft(); m_strClass.TrimRight();
if (m_strClass.IsEmpty())
{
MessageBox("班级 不能为空","提示"); return;
}
m_strName.TrimLeft(); m_strName.TrimRight();
if (m_strName.IsEmpty())
{
MessageBox("名字 不能为空","提示"); return;
}
m_strNo.TrimLeft(); m_strNo.TrimRight();
if (m_strNo.IsEmpty())
{
MessageBox("学号 不能为空","提示"); return;
}
UINT nID=GetCheckedRadioButton(IDC_RADIO_M,IDC_RADIO_W);
GetDlgItemText(nID,m_strSex);
// TODO: 在此添加控件通知处理程序代码
OnOK();
}
错误 1 error C2668: “ATL::CStringT<BaseType,StringTraits>::CStringT”: 对重载函数的调用不明确
应该怎么去改???
------解决方案--------------------
我想是这句吧?
m_strSex(0) 。。。为什么传递0进去?
“对重载函数的调用不明确”这是怎么回事?
// InfoDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "qiqi.h"
#include "InfoDlg.h"
// CInfoDlg 对话框
IMPLEMENT_DYNAMIC(CInfoDlg, CDialog)
CInfoDlg::CInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInfoDlg::IDD, pParent)
, m_tBirth(COleDateTime::GetCurrentTime())
, m_strClass(_T(" "))
, m_strName(_T(" "))
, m_strNo(_T(" "))
, m_strSex(0)
{
}
CInfoDlg::~CInfoDlg()
{
}
void CInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_tBirth);
DDX_Text(pDX, IDC_EDIT_CLASS, m_strClass);
DDV_MaxChars(pDX, m_strClass, 20);
DDX_Text(pDX, IDC_EDIT_NAME, m_strName);
DDV_MaxChars(pDX, m_strName, 20);
DDX_Text(pDX, IDC_EDIT_NO, m_strNo);
DDV_MaxChars(pDX, m_strNo, 20);
}
BEGIN_MESSAGE_MAP(CInfoDlg, CDialog)
ON_BN_CLICKED(IDOK, &CInfoDlg::OnBnClickedOk)
END_MESSAGE_MAP()
// CInfoDlg 消息处理程序
BOOL CInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CheckRadioButton(IDC_RADIO_M,IDC_RADIO_W,IDC_RADIO_M);
// TODO: 在此添加额外的初始化
return TRUE; // return TRUE unless you set the focus to a control
// 异常: OCX 属性页应返回 FALSE
}
void CInfoDlg::OnBnClickedOk()
{
UpdateData();
m_strClass.TrimLeft(); m_strClass.TrimRight();
if (m_strClass.IsEmpty())
{
MessageBox("班级 不能为空","提示"); return;
}
m_strName.TrimLeft(); m_strName.TrimRight();
if (m_strName.IsEmpty())
{
MessageBox("名字 不能为空","提示"); return;
}
m_strNo.TrimLeft(); m_strNo.TrimRight();
if (m_strNo.IsEmpty())
{
MessageBox("学号 不能为空","提示"); return;
}
UINT nID=GetCheckedRadioButton(IDC_RADIO_M,IDC_RADIO_W);
GetDlgItemText(nID,m_strSex);
// TODO: 在此添加控件通知处理程序代码
OnOK();
}
错误 1 error C2668: “ATL::CStringT<BaseType,StringTraits>::CStringT”: 对重载函数的调用不明确
应该怎么去改???
------解决方案--------------------
我想是这句吧?
m_strSex(0) 。。。为什么传递0进去?