关于网友提出的“ 导入两次别的类,和,定义类后调用函数时,出错了”问题疑问,本网通过在网上对“ 导入两次别的类,和,定义类后调用函数时,出错了”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 导入两次别的类,和,定义类后调用函数时,出错了
描述:本帖最后由 softdevcn 于 2010-11-30 08:15:41 编辑
有三个文件
gameDlg.cpp gameDlg.h //主窗口类
game_fun.h //函数库文件
P3.cpp P3.h //TAB控件的其中一个卡片页窗口
=========================================
主窗口gameDlg.cpp文件里面
#include "stdafx.h"
#include "game.h"
#include "gameDlg.h"
#include "P3.h"
#include "game_fun.h"
void CgameDlg::OnBnClickedButton2()
{
finT(*this);
}
写了以上代码没有错
=================================
但是p3.cpp里面也写
#include "stdafx.h"
#include "game.h"
#include "P3.h"
#include "gameDlg.h"
#include "game_fun.h"
这个后
void CP3::OnBnClickedButton1()//添加路经
{
//CgameDlg aa =new CgameDlg;
CgameDlg *pDlg ;
finT(*pDlg);
}
写了以上代码后出错
1>P3.obj : error LNK2005: "class CPoint __cdecl set_yuan_bian_se(class CgameDlg &,class CPoint,class CPoint,int,class ATL::CStringT<><>
> >)" (?set_yuan_bian_se@@YA?AVCPoint@@AAVCgameDlg@@V1@1HV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z) 已经在 gameDlg.obj 中定义
1>../Release/game.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
====================================
要是在别的文件里面导入的话,应该怎么导入头文件,和定义别的文件的类来调用函数呢?
解决方案1: 互包含的情况下,有办法,调用其中一个头文件的函数吗?
解决方案2: 你是不是把__cdecl set_yuan_bian_se这个函数在头文件里实现了? 移到cpp里面吧
以上介绍了“ 导入两次别的类,和,定义类后调用函数时,出错了”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3320411.html