没有重载函数的实例.(消息框::显示)

no instance of overloaded function.... (messagebox::show)

本文关键字:消息 显示 实例 重载 函数      更新时间:2023-10-16

显然,我的参数与参数列表不匹配。

这是一行:

MessageBox::Show("Credits:n [bla bla bla]n [bla bla bla]",
                 MessageBoxButtons::OK, MessageBoxIcon::Asterisk);

谁能解释一下发生了什么?每个表达式都需要单独的字符串吗?

没有采用单个字符串、消息框按钮和消息框图标的重载。您需要为标题添加额外的string

MessageBox::Show("Credits:n [bla bla bla]n [bla bla bla]", "Title",
              MessageBoxButtons::OK, MessageBoxIcon::Asterisk);

MSDN 具有可用重载的完整列表。

只需查找MessageBox::Show重载,就可以使用 VS 的智能感知进行类似的操作,我了解到实际上没有这样的重载。您可以获得的最接近的是此重载,您需要使用它指定文本和标题:

MessageBox::Show(String^ text, String^ caption, MessageBoxButtons buttons, MessageBoxIcon icon)

您可以在文档中搜索可用的函数。我认为您可以使用此版本的Show.

DialogResult Show(
    String^ text,
    String^ caption,
    MessageBoxButtons buttons,
    MessageBoxIcon icon
)

它需要两个字符串:消息的内容和标题。