"MessageDlg" 的调用没有匹配的函数
No matching function for call to "MessageDlg"
我收到一条错误消息,表明它们与 C++ Builder 中 MessageDlg()
的调用不匹配。
我的头文件确实包含 <Vcl.Dialogs.hpp>
,这是声明函数的地方。该函数是从 TForm
class public 函数中调用的。下面是有问题的代码:
void MBInvalidPosition() {
MessageDlg("Invalid Position Selected. Please Try Again",
mtError,mbOK,0);
}
如有任何想法,我们将不胜感激。谢谢。
C++ 支持重载函数——您调用的函数是其名称和提供给它的参数类型的产物。因此,假设您有正确的函数名称,第一个合理的猜测是您为其中一个参数提供了错误的类型。
具体来说,mbOK
似乎不能像那样原始提供——MessageDlg
想要第三个 TMsgDlgButtons
类型的参数,但 mbOK
是类型TMsgDlgBtn
。创建一组仅包含“确定”按钮的按钮的适当方法是 TMsgDlgButtons() << mbOK
。所以:
void MBInvalidPosition() {
MessageDlg("Invalid Position Selected. Please Try Again",
mtError,TMsgDlgButtons() << mbOK,0);
}
我收到一条错误消息,表明它们与 C++ Builder 中 MessageDlg()
的调用不匹配。
我的头文件确实包含 <Vcl.Dialogs.hpp>
,这是声明函数的地方。该函数是从 TForm
class public 函数中调用的。下面是有问题的代码:
void MBInvalidPosition() {
MessageDlg("Invalid Position Selected. Please Try Again",
mtError,mbOK,0);
}
如有任何想法,我们将不胜感激。谢谢。
C++ 支持重载函数——您调用的函数是其名称和提供给它的参数类型的产物。因此,假设您有正确的函数名称,第一个合理的猜测是您为其中一个参数提供了错误的类型。
具体来说,mbOK
似乎不能像那样原始提供——MessageDlg
想要第三个 TMsgDlgButtons
类型的参数,但 mbOK
是类型TMsgDlgBtn
。创建一组仅包含“确定”按钮的按钮的适当方法是 TMsgDlgButtons() << mbOK
。所以:
void MBInvalidPosition() {
MessageDlg("Invalid Position Selected. Please Try Again",
mtError,TMsgDlgButtons() << mbOK,0);
}