gpt4 book ai didi

c++ - 覆盖虚函数返回类型不同且不是协变的

转载 作者:太空狗 更新时间:2023-10-29 19:42:08 25 4
gpt4 key购买 nike

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

有人可以建议解决这个错误吗?

"Error 61 error C2555: 'CICEVisionDlg::DoModal': overriding virtual function return type differs and is not covariant from 'CDialog::DoModal'

DoModal 覆盖的代码:

int CICEVisionDlg::DoModal() 
{
int nRet;
m_bPopup = TRUE;
CEXTDLLState EXTDLLState(m_hResDllModule);
nRet = CDialog::DoModal();
m_bPopup = FALSE;
return nRet;
}

最佳答案

DoModal 的返回值是INT_PTR,在 32 位上是 int,在 64 位上是 __int64平台。将覆盖函数的返回值更改为 INT_PTR,它将在两者上编译。

关于c++ - 覆盖虚函数返回类型不同且不是协变的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11651892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com