默认构造函数编译错误预期不合格的id

时间:2016-04-17 14:04:41

标签: c++ constructor compilation compiler-errors try-catch

我想构建一个Default Constructure,它使用方法loadfile从File初始化我的attribut(这是一个实例)。如果无法加载文件,我也想要抛出异常,如果是这种情况,我需要调用我的reset()函数。

对于以下代码,在尝试编译时,我总是在try行中得到相同的错误。

  

Env.cpp:16:8:错误:在尝试'尝试'

之前预期不合格的ID
Env::Env() **// default constructor of Env class**
: terrain **// terrain is an instance of a class I declared in hpp file**
{
try
    {Env::loadFile();} **// the method loadfile throws an error it failed**
catch(std::runtime_error)
    {std::cerr << " Error " << endl;
        Env::reset();} **// calls reset function if file loading failed**
}

1 个答案:

答案 0 :(得分:0)

编译器认为{ try ... }terrain brace-init-list 。如果你打算默认构造它,那就这样做:

: terrain{}
{
    ...

或者这个:

: terrain()
{
    ...
如果terrainclass的实例,则

或省略整个成员初始化列表