*CPerson::getName()和CPerson::*getName()
时间: 2024-05-30 13:13:51 浏览: 28
这两者有什么区别?
第一个是类的成员函数,作用于某个具体的类,例如CPerson类,用法为:person.getName()。第二个是类的成员函数指针,可以作为函数参数或返回值,必须通过对象指针或对象引用调用,例如person.*getName()。使用时应注意函数指针指向的成员函数不能是虚函数。
相关问题
CPerson::*getName()和*CPerson::getName()
这两个函数的区别是什么?
这两个函数的区别在于返回值的类型不同。CPerson::*getName()是一个成员函数指针,它返回的是一个指向类成员函数的指针。而*CPerson::getName()是一个函数调用操作符,它返回的是类成员函数的返回值。具体而言,前者用于获取类成员函数的地址,后者用于调用类成员函数并返回其返回值。
没有与参数列表匹配的构造函数 "CPerson::CPerson" 实例
A:这个错误通常表示在声明或定义类的构造函数时可能存在问题。如果你想在创建类的实例时传入参数,则需要定义一个构造函数,其参数列表应该与你所传入的参数匹配。如果你没有定义构造函数,则编译器会默认生成一个无参的构造函数。如果你需要使用自己定义的构造函数,需要确保参数列表正确,并且函数体中实现了所需的功能。如果以上操作都已完成,但是仍然遇到这个错误,那么你应该检查你所引用的类的名称和命名空间是否正确。