ZEKEGU1997 2018-11-04 15:17 采纳率: 0%
浏览 1084

LNK2019 2001无法解析的外部符号

试过把三个复制合并成一个CPP文件,调试没有问题,但是像这样分开来就不行

1>client.obj : error LNK2019: 无法解析的外部符号 "public: static void __cdecl client::changeserver(char)" (?changeserver@client@@SAXD@Z),该符号在函数 _main 中被引用
1>client.obj : error LNK2001: 无法解析的外部符号 "private: static int client::num" (?num@client@@0HA)
1>D:\VS2008\项目\client\Debug\client.exe : fatal error LNK1120: 2 个无法解析的外部命令          

 //client.h
 #ifndef __CLIENT_H__
#define __CLIENT_H__
#include<iostream>
using namespace std;
class client
{
private:
    static char servername;
    static int num;
    char name;
public:
    static void changeserver(char s);
    client(char n){name=n;num++;};
    static void shownum(){cout<<"there are "<<num<<" clients."<<endl;}
};
#endif

//源1.cpp
#include"client.h"
#include<iostream>
using namespace std;

char client::servername='a';
int client::num=0;
void client::changeserver(char s)
{
    servername=s;
    cout<<"the servername has been changed into "<<servername<<endl;
}

//client.cpp
#include"client.h"
#include<iostream>
using namespace std;

int main()
{
    client c('c');
    client::changeserver('a');
    client::shownum();
    return 0;
}

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-11-04 15:25
    关注

    没有发现任何问题,你怎么编译的源代码。用的什么编译器。
    图片说明

    评论

报告相同问题?

悬赏问题

  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式