我用VC写了了一个类,在类的下面定义了一个类的实例,为企么提示我在我的工程中的.obj中已定义啊
我用VC写了了一个类,在类的下面定义了一个类的实例,为企么提示我在我的工程中的.obj中已定义啊
Server error LNK2005: "class ser MySer" (?MySer@@3Vser@@A) 已经在 ser.obj 中定义
问题点数:30、回复次数:7Top
1 楼hdt(倦怠)回复于 2006-05-02 09:55:00 得分 5
class ser{}myser; 这样??
Top
2 楼hdt(倦怠)回复于 2006-05-02 09:56:00 得分 0
最好在cpp里定义,h里只是做申明
h
class ser{};
cpp
ser myser;
Top
3 楼zpx833(抛物线833)回复于 2006-05-02 10:05:03 得分 0
但是我要在view中用这个定义,不知怎么才能调用,用
#include "ser.h"
#include "ser.cpp"
么,我用了也不行啊
这样更Server error LNK2005: "public: __thiscall ser::ser(void)" (??0ser@@QAE@XZ) 已经在 ser.obj 中定义
Server error LNK2005: "public: virtual __thiscall ser::~ser(void)" (??1ser@@UAE@XZ) 已经在 ser.obj 中定义
..................Top
4 楼hdt(倦怠)回复于 2006-05-02 10:07:07 得分 25
why
#include "ser.cpp"
ser.h
...
extern ser myser;
ser.cpp
ser myser;
Top
5 楼zpx833(抛物线833)回复于 2006-05-02 10:08:18 得分 0
不是一楼那样是在.h中class ser{};ser MySer;在view中调用这个类,把view中的listbox指针线这个类,用这个类操作view显示,用这个类来处里服务器信息Top
6 楼zpx833(抛物线833)回复于 2006-05-02 10:11:36 得分 0
结帖,完成了谢谢hdt(倦怠)
太好了给分Top
7 楼hdt(倦怠)回复于 2006-05-02 10:16:19 得分 0
不是一楼那样是在.h中class ser{};ser MySer;在view中调用这个类,把view中的listbox指针线这个类,用这个类操作view显示,用这个类来处里服务器信息
=========================================
意思一样
在h里定义,多个cpp里包含必然要引起重复定义的问题
解决方法是
ser.h
#pragma once
#ifndef SER_H
class ser
{
public:
ser(void);
virtual ~ser(void);
};
extern ser myser;
#endif
ser.cpp
.....
ser myser;Top




