C 中的常量数据成员初始化
在 C 中,当尝试在类声明中初始化常量数据成员时,会出现诸如“ ISO C 禁止初始化成员”和“使 't' 静态”可能会出现。要解决这个问题,必须了解 const 数据成员的性质。
常量变量表示在程序执行期间无法修改的值。然而,C 要求对象定义具有唯一的声明。为了遵守这条规则,const 变量不能在类声明中定义。
解决方案在于使用初始化列表在类声明之外定义 const 变量。初始化 const 数据成员的语法为:
className() : memberName(value) {}
在您的示例中:
#include <iostream> using namespace std; class T1 { const int t; public: T1() : t(100) {} }; int main() { T1 obj; cout << "T1 constructor: " << obj.t << endl; return 0; }
此代码在对象构造期间使用值 100 初始化 const 数据成员 t,从而避免了上述错误。
以上是如何在 C 中正确初始化常量数据成员?的详细内容。更多信息请关注PHP中文网其他相关文章!