#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
class A
{
public:
void f();
void f1();
private:
int m_nA;
};
void A::f1()
{
cout << 1 << endl;
}
void f()
{
cout << 2 << endl;
}
int main()
{
f();
A a;
a.f1();
//a.f(); //错误
system("pause");
return EXIT_SUCCESS;
}
在类内声明的函数未必是类的成员函数,也许只是声明一下,告诉编译器,我有这个函数。编译器说,好,我知道了。
但是实现f()的时候是作为全局变量实现的,范围不在是类内。所以用a.f()就报链接错误
严重性 代码 说明 项目 文件 行
错误 LNK2019 无法解析的外部符号 “public: void __thiscall A::f(void)” (?f@A@@QAEXXZ),该符号在函数 _main 中被引用 。。。。 C:\Users\green\Documents\Heima\code\VS\。。。。\。。。。\源.obj 1