类初始化中的C++



当使用类内初始化程序时,为什么我可以使用初始化的副本形式"="和初始化的支撑列表形式"{}",但不能使用直接形式"()"。

class foo{
    int a = 5;
    int b{5};
    int c(5);
};

错误:应为类型说明符

错误:语法错误:'constant'

我想它不会被解析为变量,但会被解析为函数的声明。这就是为什么它不让你在那里写5。因为它不需要任何参数或正常或默认类型的参数。由于error还表明它需要一个指定的类型,比如int或5的任何值。另一个错误表明,在函数中不能直接传递常量。这是一个语法错误。

相关内容

  • 没有找到相关文章

最新更新