C++中 类成员函数声明中,vector成员的初始化方式问题

定义一个类,类中有一个vector成员,初始化的时候发现了一个问题理解不了
初始化报错
使用这种初始化方式报错
初始化报错
使用这种初始化方式也报错
初始化正确
只有这种初始化方式正确
为什么第三张图片里的初始化方式可以,第一张、第二张的初始化方式报错

第一张,第二张定义时用的是小括号( )。
编译器会认为你尝试定义一个函数。

对类的成员函数而言,除了在类体中声明外,还需要在类体外定义。(inline方式在类体中定义亦可)。

第三张是初始化列表的方式在构造函数定义时给成员变量赋值,是可以的。

如果有帮助,请采纳答案好吗,谢谢!