北秋故人
2021-05-11 11:32
采纳率: 100%
浏览 38

LNK2005和LNK1169 VS2019C++

//client.h
#pragma once
#ifndef _CLINET
#define _CLIENT
#include <iostream>
#include <string>

using namespace std;

class CLIENT {
public:
	static int serveNum;//静态数据成员:服务器数
	static void changeServeName(string s);//静态成员函数:改变服务器名称

	CLIENT();//默认构造函数
	CLIENT(string name);//构造函数
	~CLIENT();
	void showName();//显示服务器名称
	static void showNum();//显示服务器数量
private:
	static string serveName;//静态数据成员:服务器名称
};
#endif


//client1.cpp
#pragma once
#include "client.h"

CLIENT::CLIENT() {
	serveName = "name1";
	cout << "创建一台服务器" << endl;
	serveNum++;
}
CLIENT::CLIENT(string name) {
	serveName = name;
	cout << "创建一台服务器" << endl;
	serveNum++;
}
CLIENT::~CLIENT() {}

int CLIENT::serveNum = 0;
string CLIENT::serveName = "NULL";

void CLIENT::showName() {
	cout << serveName << endl;
}
void CLIENT::showNum() {
	cout <<"当前共有服务器数为:"<< serveNum << endl;
}
void CLIENT::changeServeName(string s) {
	serveName = s;
}

//main.cpp
#include "client1.cpp"
using namespace std;

int main() {
	string s;
	CLIENT c1;
	CLIENT c2("name2");
	CLIENT::showNum();
	c1.showName();
	c2.showName();
	cin >> s;
	c1.changeServeName(s);
	c1.showName();
	c2.showName();
	return 0;
}

 代码是这样的,然后编译不通过,报LNK2005和LNK1169

求大佬

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • CSDN专家-link 2021-05-11 11:56
    已采纳

    我测试了一下,没有错误啊,你最好把错误信息贴出来

    点赞 1 打赏 评论
  • CSDN专家-Time 2021-05-11 11:33

    头部和lib包有冲突。或者重复引入了头部。建议把工程文件发出来。我看看。

    贴个百度网盘链接。

    点赞 1 打赏 评论
  • 有问必答小助手 2021-05-11 13:52

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 打赏 评论
  • 爱晚乏客游 2021-05-11 14:16

    你的main文件的#include "client1.cpp"是什么意思?改成include “client1.h”

    点赞 打赏 评论
  • 有问必答小助手 2021-05-11 16:58

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 打赏 评论

相关推荐 更多相似问题