先看代码
#include <iostream> using namespace std; class A { public: int fun1(int a, int b){return a+ b;} }; void main() { int a = 1 ,b = 0; int c = A::fun1(a,b); cout<< c; system("pause"); }
编译时报错:
1>------ 已启动生成: 项目: Empty, 配置: Debug Win32 ------ 1>正在编译... 1>main.cpp 1>d:\m3_2\sgtest\empty\main.cpp(13) : error C2352: “A::fun1”: 非静态成员函数的非法调用 1> d:\m3_2\sgtest\empty\main.cpp(7) : 参见“A::fun1”的声明 1>生成日志保存在“file://d:\m3_2\SGTest\Empty\Debug\BuildLog.htm” 1>Empty - 1 个错误,0 个警告 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========说明类的非静态公有方法只能通过对象或指针调用。