C++调用类成员函数报错class member declaration is not accessible如何解决
错误原因
- C++类的成员默认访问权限为private,私有成员仅允许类内部的代码访问,类外部作用域(包括main函数)没有直接访问权限。
- 你代码中的
function成员函数未显式声明访问权限,属于私有成员,因此在main函数中通过实例对象调用时会触发访问权限错误。
修复方法
在需要对外暴露的成员函数前添加public访问修饰符即可,修正后的完整代码如下:
#include <iostream> using namespace std ; class maths{ int a; int b; public: void function(int b) { a=1; while (a<=10) { cout<<a*b; a++; } } }; int main() { maths product; product.function(4); return 0; }
仅需要在类内部调用的成员可以保持默认private权限,符合面向对象封装的设计原则,只有需要对外提供调用的成员才需要声明为public。
内容的提问来源于stack exchange,提问作者shubham mishra
相关产品推荐
相关产品推荐

