gpt4 book ai didi

C++ 错误 C2512 : no appropriate default constructor available

转载 作者:行者123 更新时间:2023-11-28 06:57:03 24 4
gpt4 key购买 nike

我有一个没有默认构造函数的名为 MainWindow 的类。我有一个名为 Application 的类,它的构造函数使用 MainWindow 的实例作为参数。我得到一个

 Error C2512, "no appropriate default constructor available" 

在类 Application 的构造函数的定义中。

构造函数代码如下:

Application::Application(HINSTANCE hInstance, MainWindow mainWindow) {...}

我正在像这样创建 Application 的实例:

MainWindow window(1000, 1000, false, "test");
Application program(Instance, window);

为什么会出现此错误?我没有尝试使用默认构造函数创建 MainWindow 的新实例。

最佳答案

似乎类 Application 有一个无法创建的 MainWindow 类型的数据成员。否则不清楚为什么类Application的构造函数有参数MainWindow mainWindow。我认为它用于将其分配给类的数据成员。

您可以使用 ctor-initializer。例如,如果 Application 类确实有一个 MainWindow 类型的数据成员(将其命名为 m_window),那么您可以按以下方式编写构造函数

Application::Application(HINSTANCE hInstance, MainWindow mainWindow) : m_window( mainWindow )
{
//...
}

关于C++ 错误 C2512 : no appropriate default constructor available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23028691/

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