覆盖虚函数返回类型不同且不协变

Tec*_*chy 3 c++ 64-bit mfc build-error windows-7

我已将我的应用程序从32位移植到64位平台,并遇到了各种构建问题.我解决了几乎所有事情,但我遇到了一个我无法弄清楚的错误.

任何人都可以建议解决这个错误?

"错误61错误C2555:'CICEVisionDlg :: DoModal':覆盖虚函数返回类型不同并且与'CDialog :: DoModal'不一致

DoModal覆盖代码:

int CICEVisionDlg::DoModal() 
{ 
  int nRet; 
  m_bPopup = TRUE; 
  CEXTDLLState EXTDLLState(m_hResDllModule); 
  nRet = CDialog::DoModal(); 
  m_bPopup = FALSE; 
  return nRet; 
}
Run Code Online (Sandbox Code Playgroud)

Hen*_*rik 10

返回值DoModalis INT_PTR,简单地int在32位但__int64在64位平台上.将覆盖函数的返回值更改为INT_PTR,它将在两者上编译.