Code :: blocks抱怨参数类型

时间:2015-04-27 16:44:43

标签: c++ reference compiler-errors codeblocks

我正在构建一个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 (&)())'

打扰一下,如果我是傻瓜,但我认为这段代码是正确的,我错了吗? 我正在使用Code :: Blocks IDE和我系统上提供的标准GCC工具链。

1 个答案:

答案 0 :(得分:2)

从此行中删除括号:

monolith::EngineOptions options();

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