如何初始化main之外的对象?

时间:2018-03-10 21:21:03

标签: c++

我有下面的代码。我想在main之外创建一个对象Model,然后在main方法中使用它。但是,VS一直让我的对象初始化与函数声明混淆,并且不允许我使用它。有没有办法在没有编译器混淆的情况下初始化它?

Model model();

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

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

因为这一行:

Model model();

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

你需要

Model model;

Model model{};

答案 1 :(得分:2)

Model model();

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

尝试删除()

Model model;