代码::块抱怨参数类型

Code::blocks complaining about type of parameter

本文关键字:参数 类型 代码      更新时间:2023-10-16

我正在构建一个3D游戏引擎。我已经用其他语言构建了许多语言,但最终决定获得C++的速度优势(尽管不是特别了解它)。

我有一个名为 EngineOptions 的类,用于存储有关如何初始化引擎的信息。然后,引擎的主类 Monolith 对选项实例进行const引用,如下所示:

monolith::EngineOptions options();
monolith::Monolith engine(options);

Monolith有一个正确的头文件和一个构造函数,如下所示:

Monolith::Monolith(const EngineOptions& options) :  m_options(options)
{
    m_window(m_options.windowWidth, m_options.windowHeight, m_options.windowTitle);
}

虽然我认为这是正确的,但编译器抱怨有:

no matching function for call to 'monolith::Monolith::Monolith(monolith::EngineOptions (&)())'

对不起,如果我愚蠢,但我认为这段代码是正确的,我错了吗?
我正在使用代码::块IDE和系统上提供的标准GCC工具链。

删除此行中的括号:

monolith::EngineOptions options();

编译器认为您正在声明一个返回EngineOptions实例的函数。