【问题标题】:How to initialize an object outside of main? [duplicate]如何在main之外初始化一个对象? [复制]
【发布时间】:2018-03-10 21:21:02
【问题描述】:

我有以下代码。我想在我的 main 之外创建一个对象模型,然后在 main 方法中使用它。但是,VS 总是将我的对象初始化与函数声明混淆,并且不允许我使用它。有没有办法在编译器不会混淆两者的情况下对其进行初始化?

Model model();

int main{
    model.loadModel("testModel.txt"); // I want to do st like this, but it causes error
}

我该如何解决这个问题?

【问题讨论】:

    标签: c++


    【解决方案1】:

    因为这一行:

    Model model();
    

    将被解析为函数声明,这是most vexing parse

    你需要

    Model model;
    

    Model model{};
    

    【讨论】:

      【解决方案2】:
      Model model();
      

      对于编译器来说,这看起来像是一个返回 Model 且不带参数的函数声明。

      尝试删除()

      Model model;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-01
        • 2020-01-05
        • 2017-05-17
        • 2010-10-22
        • 2020-10-09
        • 2013-10-12
        • 2012-04-09
        相关资源
        最近更新 更多