1)默认参数
非静态变量不能做默认参数,如下例:
class A
{
public:
void fun(int x = a);//OK
//void fun2(int x = b); //非静态变量不能做默认参数
static int a;
int b;
};
静态数据类型是指非不确定变量类型,包括:const 、#define、全局类static、常量。
默认实参是在编译时期指定,非static成员在此时还没被初始化,所以不能,而静态成员是在编译时就能确定值了。
非静态数据类型在类构造前没有完成数据的绑定。只有用静态数据类型,这样在对象构造前就可以使用了。因为静态数据类型在类定义的时候就需要初始化了。
本文探讨了C++中默认参数的使用限制,特别是非静态变量作为默认参数的情况,并解释了为什么非静态成员变量不能作为默认参数的原因。此外,还介绍了静态数据类型的特性及其在类中的应用。
3602

被折叠的 条评论
为什么被折叠?



