描述:
我定义了一个只有一个方法的接口.
主要实现代码如下:
[helpstring("方法CheckIn")] HRESULT CheckIn([in] LONG idUser, [in] BSTR pw, [out,retval] BSTR* outPW);
STDMETHODIMP CLoginCheck::CheckIn(LONG idUser, BSTR pw, BSTR* outPW)
{
if (idUser==110&&pw==CComBSTR(L"test"))
{
CComBSTR bstrUserID(idUser);
*outPW = bstrUserID.Copy();
}
return S_OK;
}
调用部分主要代码:
void CLoginDlg::OnBnClickedOk()
{
UpdateData(TRUE);
::CoInitialize( NULL );
HRESULT hr = S_OK;
CComBSTR outPW;
ILoginCheckPtr loginCheck;
hr = loginCheck.CreateInstance(__uuidof(LoginCheck));
loginCheck->CheckIn(idUser,pw.AllocSysString(),&outPW);
UpdateData(FALSE);
::CoUninitialize();
}
其中idUser是long型,PW是CString型。分别邦定两个文本框。我想用outPW输出,但是编译的时候报错:error C2660: “Login::ILoginCheck::CheckIn” : 函数不接受 3 个参数.请问怎么办?