MFC小白请教 结构体提示重复定义如何修改

图片说明图片说明![图片说明图片说明

1

4个回答

global.h是不是重复包含了?加上包含宏判断试试。
#ifndef GLOBAL_H
#define GLOBAL_H
....global的内容
#endif

1

能不能打个断点看看,步进观察一下变量

0
u013565411
-小客- 回复u010774706: 正解
一年多之前 回复
u010774706
konglingren 定义放到cpp里面,然后在.h里面extern
一年多之前 回复
qq_33396997
qq_33396997 更新了图,请帮我看看
一年多之前 回复

1、这是编译错误,不用设置断点(也设置不了)。
2、提示定义重复了,可能原因有2个:
1) 你真的重复定义了那个结构体,搜索整个项目找一下。
2)、头文件包含有问题,解决办法参考BigSpiderMan 所说(尊重他人成果,此处不列出)
以上为个人意见,仅供参考。

0

改下那个结构体的名称

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
MFC小白请教 结构体提示重复定义如何修改
![图片说明](https://img-ask.csdn.net/upload/201804/04/1522773092_267412.png)![图片说明](https://img-ask.csdn.net/upload/201804/04/1522773881_45881.png)![![图片说明](https://img-ask.csdn.net/upload/201804/04/1522775674_145442.png)![图片说明](https://img-ask.csdn.net/upload/201804/04/1522775697_489321.png)
无效的重复定义结构体
typedef struct __align__(16)rnrn float z_min; rn float z_max; rn float mutr; rn float mua; rn float g; rn float n; rnStructA;rn 在主程序中只出现一次rn StructA stra;rn报错rn错误 error: invalid redeclaration of type name "StructA"
结构体重复定义
在 VS2005 下rnrn我建立了一个头文件 Test.hrnrn两个源文件分别为 Test.cpp 和 Keke.cpprnrn两个源文件都包含头文件 Test.hrnrn各个文件的代码如下:rnrn rnrn//Test.hrnrn#ifndef TEST_Hrn#define TEST_Hrnextern struct Testrnrn int x;rn int y;rn test;rn#endifrnrn rnrn// Test.cpprnrn#include "stdafx.h"rnrnvoid Init()rnrn Test ts1;rn ts1.x = 1;rn ts1.y = 2;rnrnint _tmain(int argc, _TCHAR* argv[])rnrn return 0;rnrnrnrn// Keke.cpprnrn#include "stdafx.h"rnrnvoid Init()rnrn Test tx;rn tx.x = 1;rn tx.y = 2;rnrnrn rnrnstdafx.h 头文件中包含了 Test.h 头文件rnrn当我生成工程的时候rnrn就出现了如下的错误:rnrnstdafx.obj : error LNK2005: "struct Test test" (?test@@3UTest@@A) 已经在 Keke.obj 中定义rnTest.obj : error LNK2005: "struct Test test" (?test@@3UTest@@A) 已经在 Keke.obj 中定义rnd:\My Documents\Visual Studio 2005\Projects\Test\Debug\Test.exe : fatal error LNK1169: 找到一个或多个多重定义的符号rnrn在结构体前面加上 extern 关键字或者 static 关键字rnrn生成就可以成功了rn
MFC结构体定义
如何创建一个类,在类中包含多个结构体???我想在别的类中调用该类的结构体成员????rnrn#if !defined GLOBALDEFINE_Hrn#define GLOBALDEFINE_Hrnrnclass CGlobaldefine rnrnpublic:rn CGlobaldefine();rn virtual ~CGlobaldefine();rnrn//////////////Sercos(外设--机床本体)与PLC之间的通讯数据分配内存空间rntypedef structrnunsigned char m_ulSercosToPLC[16];SercosToPLCStruct,*pSercosToPLCStruct;rnrntypedef structrnunsigned char m_ulPLCToSercos[16];PLCToSercosStruct,*pPLCToSercosStruct; rnrntypedef structrn rn SercosToPLCStruct m_SercosToPLCStruct;rn PLCToSercosStruct m_PLCToSercosStruct;rnPLC_SercosBuffer,*pPLC_SercosBuffer; rnrn在别的类中包含了该类的头文件,怎么调用不了结构体成员??
MFC定义结构体
我想在MFC对话框应用程序中创建自己的结构体数据区,以让别的类可以访问该结构体中的数据成员,这个该怎么建立??rn请演示一下,急求!!!!!
MFC中定义结构体
在MFC中在如果我要使用自定义的结构体,应该在哪里定义呢?
COM组件如何避免结构体重复定义
是这样的:rn假如我写了两个组件:组件A和组件B,都包含了一个自定义的结构体类型,如:rntypedef struct POINTrnint x;rnint y;rnPOINT;rnrn然后我利用import在客户端调用这两个组件的时候就会提示POINT重复定义。rnrn我的组件是按照网上找的这个方法写的:rn1) 从IUnknown继承的自定义接口 rn[color=#FF0000]把数据结构直接传送给基于VTable接口的方法,只适用于由MIDL编译生成的proxy/rnstub DLL调度的接口,不能用于Invoke();(参UserDefinedDataType(1))rna.在一个新的.h文件中定义自定义数据结构.rnb.在.idl文件最前面加入这个.h文件,比如:rn#include "MyStruct.h"rnc.给从IUnknown派生的接口加入使用了自定义数据结构的方法。rnd.在客户程序的stadafx.h最下面加入#import指令,如:rn#import "..\test3.tlb" no_namespacern在生成的.tlh文件中,会自动包含了用户自定义数据结构的定义。[/color]rnrn然后生成的两个.tlh文件中都有POINT的定义,就出现了重复定义的问题,我试过用条件编译的方法修改.tlh文件,但是当VC6.0再次加载.tlh文件的时候,会自动把我的条件编译语句去掉,所以条件编译的方法是行不通的。rnrn请问,各位com高手,有什么好的办法可以避免重复定义。rn
请教结构体定义问题
请教rntypedef struct tagSrnrn int n1:5;rn int n2:2;rntagT;rnrn这是什么意思??rnsizeof(tagT) = ?rnrn谢谢!
定义的数据结构编译时提示重复定义错误
错误: 数据结构重复定义错误 分析: 头文件中的数据结构定义引用一次就行,但函数可以使用多次,所以会出现数据结构重复定义多次的错误 解决方法: 可以把数据结构和函数声明分开定义 一般情况下数据结构定义时也要加上#ifndef和#endif,防止因为多次包含该头文件而造成的重复定义的错误 如:我的atom.h文件, #ifndef ATOM_H #define ATOM_H
为什么提示类重复定义了?
d:\microsoft visual studio\msdev98\myprojects\newprint\cprinter.h(71) : error C2011: 'CPrinter' : 'class' type redefinitionrnrn
【请教】如何解决结构体定义过大的问题?
定义了这样一个结构体rnrnstruct st2rnrn int x;rn st1 y[dim]; // 其中st1为另一个结构体,dim为维数rn;rnrn如果令dim=99,999的常量时,则出现如下的错误:rnfatal error C1126: automatic allocation exceeds 2Grnrn请教高手如何解决??因为我必须要定义这么大的一个结构体,谢谢~
结构体如何定义
typedef struct tagTestrnrn int val[MAX];rnTest, *pTest;rnrntypedef struct tagTestrnrn int* val;rn int len;rnTest, *pTest;
如何定义结构体的指针变量?
如何创建一个新的头文件?是通过创建一个新类来新建一个头文件吗?rn如:在头文件WCProj.h中定义了一个public结构体变量:struct PenDi_Info ,在类CSelPd中引用了WCProj.h后,定义一个成员变量:struct PenDi_Info *PenDiInfo;为何PenDiInfo->后面没有相应的结构体的提示?rnrn 谢谢!
如何定义结构体
在asp.net中如何相C一样,自动定义一个结构体如struc studentint a;rnstring b;;rn并应用之;rn请写一段定义并应用之的代码。rnrn
php如何定义结构体
php如何定义结构体
如何定义这个结构体?
调用一个 dll,接口函数的参数要传进去一个结构体的指针,dll 接口的结构体如下,rntypedef struct rn int n; rn char szBuf1[10]; rn char szBuf2[64]; rnA;rnrn问题:rn1:传指针是不是改为 ref ?rn2:如何在C#中定义这个结构体使用 StringBuilder 定义字符串数组,说接收类型不匹配,用char[],说 指定的数组不属于需要的类型。
如何正确的定义结构体?
现在的一个问题是想定义一个多边形的结构体,而多边形的边数是不确定的。比如要是三角形,直接可以定义一个保存三个边的有三个元素的数组,四边形同样,但是现在有与多边形的不确定,于是不能够象这样去定义,需要动态的去定义一个结构体,那么如何正确的定义?请高手指点一二。
如何定义一个结构体
刚刚接触C#,问个很白痴的问题,如何定义结构体,比如C中的结构体:rntypedef struct rn char A[16]; rn char B[16]; rn char C; rn char D; rn char E[16]; rn char F[160]; rn short index; rnA;rn如何用C#定义出来呢?
头文件中结构体别名重复定义怎么办?
这个头文件中的定义是rntypedef struct tagPT_DEVLISTrnrn DWORD dwDeviceNum;rnrn#ifndef _WIN32_WCE rn char szDeviceName[50]; rn#else rn TCHAR szDeviceName[50]; rn#endifrnrn SHORT nNumOfSubdevices;rn DEVLIST, FAR *LPDEVLIST;rnrn这个头文件中的定义是rntypedef struct tagPT_DEVLISTrnrn DWORD dwDeviceNum;rn char szDeviceName[50]; rn SHORT nNumOfSubdevices; rn DEVLIST, *LPDEVLIST;rn编译过后出错,说是DEVLIST和LPDEVLIST重复定义了,该怎么办啊?
结构体中的变量定义动态重复问题
近两天又遇到问题,要求结构体中的部分变量根据另一个变量的实际值动态重复定义几次,关于这些变量结构如下:rntypedef struct ChoosePhase rn rnrn uint8_t CenterNodeLocalId; rn uint8_t MovePhaseNum;rn uint8_t MovePhaseLength;rnrn/* need to be repeated based on the number of MovePhaseNum */rn [color=#FF0000] uint8_t FromNodeLocalId;rn uint8_t ToNodeLocalId; rn uint8_t PhaseId;[/color]rntChoosePhase;rnrnrn老板的意思是下面三个标红的变量要根据MovePhaseNum的值重复MovePhaseNum次,对此不是很懂。rn请大家帮我瞧瞧,谢谢rnrnrn
请教一个结构体定义的问题
帮忙看一下面这个定义是否有错:rnPublic Structure attrilist rn  Dim fields As ArrayList rn Dim name As ArrayList rn  Dim flag As Boolean rnEnd Structurernarraylist是一个类,能否定义在结构体中作为成员呢?rn谢谢!!
程序链接时候提示重复定义怎么办? (VS2005、MFC)
使用了网友给我的一个播放xm音乐的库文件zXM.lib,可以正常编译,但是在链接时不能正常出错:rn------ 已启动生成: 项目: Test, 配置: Debug Win32 ------rn正在编译...rnTestDlg.cpprn正在链接...rnlibcmtd.lib(ftol2.obj) : error LNK2005: __ftol2 已经在 zXM.lib(mixer.obj) 中定义rnMSVCRT.lib(MSVCR80.dll) : error LNK2005: _calloc 已经在 libcmtd.lib(dbgheap.obj) 中定义rnMSVCRT.lib(MSVCR80.dll) : error LNK2005: _free 已经在 libcmtd.lib(dbgheap.obj) 中定义rnMSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义rnMSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义rnLINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:libraryrnD:\My Documents\Visual Studio 2005\Projects\Test\Debug\Test.exe : fatal error LNK1169: 找到一个或多个多重定义的符号rn生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Test\Test\Debug\BuildLog.htm”rnTest - 6 个错误,1 个警告rn========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========rnrn于是在链接选项里忽略特定库:MSVCRT.lib,仍然出错:rn------ 已启动生成: 项目: Test, 配置: Debug Win32 ------rn正在链接...rnlibcmtd.lib(ftol2.obj) : error LNK2005: __ftol2 已经在 zXM.lib(mixer.obj) 中定义rnzXM.lib(zXMMusic.obj) : warning LNK4217: 本地定义的符号 _calloc 在函数 _zXM_play@4 中导入rnzXM.lib(zXMMusic.obj) : warning LNK4217: 本地定义的符号 _free 在函数 _zXM_stop@0 中导入rnD:\My Documents\Visual Studio 2005\Projects\Test\Debug\Test.exe : fatal error LNK1169: 找到一个或多个多重定义的符号rn生成日志保存在“file://d:\My Documents\Visual Studio 2005\Projects\Test\Test\Debug\BuildLog.htm”rnTest - 2 个错误,2 个警告rn========== 生成: 0 已成功, 1 已失败, 0 最新, 0 已跳过 ==========rnrn以前在 VC6 中,只要在 C++ 的预编译头选项中使用“不使用预编译头”即可以通过链接,在VS2005中这个方法不行啊!rnrn环境:VS2005简体中文版 非托管 MFC
关于结构体的一个定义。请教。
假如一个结构体叫GUFDE, GUFDE &gufde;这样定义是什么意思。如何使用。
请教:如何查找重复定义的连接错误?
我的工程基本结束,但不知道是哪个地方造成组件定义重复错误,我应该怎样查找呢?我有个办法就是一个FORM一个FORM一删除来试,但FORM太多了,还有更好的办法没有呢?先谢谢了!rnrnrn错误如下 :rn[Linker Warning] Public symbol '_GUID_NULL' defined in both module C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\IMPORT32.LIB|uuid and C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\UUID.LIB|uuidrn
请教一个MFC结构体的问题
请问下MFC中的结构体和 联和有什么区别呀?联和是结构体的集和吗,我看联和里面全是结构体
请教MFC中如何定义一个结构体,要求选中结构体一部分候,显示另一部分
请教MFC中如何定义一个结构体,要求选中结构体一部分候,显示另一部分rn我这样定义的结构体:rnstruct CStruct rnrn CString Name;rn CString XueFen;rn;rnrnBOOL CMy2Dlg::OnInitDialog()rnrn CStruct str[4]=" 高等数学","6","data","6","java","7","English",rn "4";rn int n;rn for(int i=0 ; i<=4 ; i++)rn rn n=m_select.AddString(str[i].Name);rn m_select.SetItemData(n,i); //现实下拉列表rn rn m_select.SetCurSel(0); rn return TRUE; // return TRUE unless you set the focus to a controlrnrnrn这里定义就报错,请指教一下!rn还有就是在下拉菜单中,如何选中一个科目,就显示这个科目的学分rn如选“JAVA ”, 在旁边的编辑框里面显示学分为 “6”rnrn请指教
请教MFC如何重复获取网页源码
在网上找到了一段获取网页的代码rnrn CInternetSession mySession(NULL,0);rn CHttpFile* myHttpFile = NULL;rn CString myData;rn CString myCode;rn rn myHttpFile=(CHttpFile*)mySession.OpenURL(myUrl);rnrn while(myHttpFile->ReadString(myData))rn rn myCode += myData;rn rnrn myHttpFile->Close();rn mySession.Close();rn UpdateData(FALSE);rnrn但是获取网页源码后,就不能再获取相同网址的网页源码了,比如网页更新后,再次获取到的源码跟第一次获取的源码是相同的,除非重新打开程序,请问有什么方法可以重复获取网页源码。rnrn
重复定义!如何解决?
#import "F:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")rn#import "f:\Microsoft Office\Office\excel9.olb" rnrn编译时重复定义!如何解决?rn
重复定义 如何解决
报错:error C2065: 'False' : undeclared identifierrn代码调用了两个库:rn其中False 在一个库中定义如下rn[code=c]#define False falsern#define True true[/code]rn在另个库中定义rn[code=c]#undef Truern#undef Falsernrnclass Truernrn;rnrnclass Falsernrn;rn[/code]rn请问怎么可以一下解决这个问题,因为代码中True和False实在是太多太多了
如何解决重复定义?
我在自己的.h文件中已经包含了以下代码rnrn#if !defined (_MY_H_)rn#define _MY_H_rnrn...rnrn#endifrnrn但在编译的时候仍然提示有变量重复定义。rn应如何解决?rn非常感谢!!!
C#如何定义结构体及访问结构体的成员
构结构的关键字 struct,struct类型是一种值类型通常用来封装小型变量组,如果冲结构创建一个对象并将对象赋给某个变量 则变量包含结构该变量放入结构的全部值,如果复制包含变量的结构,则将该复制所有的值,对新副本所作的任何修改都不会改变就副本的值(值类型的复制,自复制给其他的值,改变原来结构的值) 结构的特点:结构不是引用类型,而是值类型。结构的实例化不能用new运算符。结构可以声明构造函数
C#中如何定义结构体中的结构体?
下面是一个C类型的结构体中的结构体,请问这样的类型在C#中应该怎么定义?rnstruct ST_COM_HEAD /*报文头定义*/rnrn char TRAN_CODE[4]; /*交易码,输入*/rn char TRAN_ERROR[4]; /*错误码,输出,0000为正常,其他为错误*/rn char TRAN_ROWS[4]; /*返回行数,输出*/rn char TRAN_END_FLAG[1]; /*返回结束标志,输出,1为结束*/rn char TRAN_REMARK[51]; /*备用*/rn;rnrnstruct ST_COM_BUFF /*整个报文的定义*/rnrn struct ST_COM_HEAD COM_HEAD; /*报文头*/rn char COM_DETAIL[960]; /*报文体*/rn;rnrnstruct ST_COM_CUST_INFO /*针对cust_info的通讯结构定义*/rnrn char CUST_CODE[4]; /*客户号*/rn char CUST_NAME[80]; /*客户名称*/rn char CUST_DATE[9]; /*操作日期*/rn char CUST_TIME[7]; /*操作时间*/rn char CUST_ACC_NO[20]; /*帐户*/rn char CUST_REMARK[80]; /*备注*/rn;rn
如何定义一个结构体,包含另一结构体
在C语言中如何定义一个结构体,包含另一结构体.如下所示:rn#define MAX 30;rn#define APK_NA_NAME 10;rn#define APK_PP_NAME 10;rn#define APK_CHN_NAME 10;rn54 typedef structrn55 int Total;rn56 struct DspYouso[MAX+1];rn57 DspData;rn58 struct DspYousorn59 rn60 int youso_no;rn61 int dsp_f;rn62 char shomei_name[APK_NA_NAME];rn63 char setsubi_name[APK_PP_NAME];rn64 char chanel_name[APK_CHN_NAME];rn65 int tm_no;rn66 int word_no;rn67 int lock_f;rn68 int f1_f;rn69 int test_f;rn70 int zenchi_f;rn71 int shirei_f;rn72 int schedule_f;rn73 int shunji_value;rn74 DspYouso;rn编译如下:rndac858.h:56: parse error before `['rndac858.h:56: warning: no semicolon at end of struct or unionrndac858.h:57: warning: type defaults to `int' in declaration of `DspData'rndac858.h:57: warning: data definition has no type or storage classrndac858.h:62: parse error before `;'rndac858.h:62: warning: no semicolon at end of struct or unionrndac858.h:63: parse error before `;'rndac858.h:64: parse error before `;'rndac858.h:74: parse error before `'rndac858.h:74: warning: type defaults to `int' in declaration of `DspYouso'rndac858.h:74: warning: data definition has no type or storage classrnrn为何会出错????
CSS重复定义的问题请教
如果在外部CSS文件里已经对UL和LI定义了样式:rnrnrnrn那么在当前页面,我再定义一个样式,再应用到 下的 ,是不是就无效了?
mfc中定义的结构体放在哪里声明
请问在mfc程序设计中把自定义的结构体放在哪里声明?rn谢谢!rnerror C2601: 'OnQueryDragIcon' : local function definitions are illegalrnerror C2601: 'createPCB' : local function definitions are illegalrnerror C2601: 'pushback_queue' : local function definitions are illegalrnerror C2601: 'OnRun' : local function definitions are illegalrnfatal error C1004: unexpected end of file foundrn另外,我自定义的函数为什么出错误!rn我对于这mfc编程快愁死了,大哥大姐们快帮忙啊!rn我其实就是要在基于对话框的的mfc程序中实现进程调度,声明一个进程结构体,在对话框类中使用。rn对于进程结构体的就绪队列等操作的函数是否也可以直接在对话框类中声明,使用。rn最后在picture控件中画出。rn这些都不太会啊,希望指点!急啊!rnrn
MFC结构体中CString类型变量无法定义
struct egs { cstring strs; } egs egs1; CString tmp = &amp;quot;abc123&amp;quot;; egs1.strs = tmp; 在VS2010/MFC项目(使用多字节字符集)中,结构体中定义的其它类型变量都可以执行赋值定义操作,唯独CString类型变量无法进行定义,如上代码块执行会报错。原因是在MFC结构体中会把CString类型变量当作一个四个字节的指针...
MFC结构体的定义标准,可参考
-
如何提示重复的记录?
我向parcels这个表插入数据,共有packingslipid,parcelstatusid,enterdate,userid四个rn字段,其中packingslipid 是主键,这个字段不能插入相同的值,rn如果是相同的值,就给予警告,该怎么做呢?rn代码是这样的:rn<% rnrnset sConn=server.CreateObject("adodb.connection") rnsConn.Open "Driver=Microsoft Excel Driver (*.xls);DBQ="&server.mappath("./a/b.xls") rnrnset oConn=server.CreateObject("adodb.connection") rnoConn.Open "Driver=sql server;server=mlirdtry;database=rdtry;uid=zhang fang;pwd=zf" rnrnset sRs=server.CreateObject("adodb.recordset") rnsRs.Open "select * from [b$]",sConn,2,2rnrnset oRs=server.CreateObject("adodb.recordset") rnoRs.Open "select * from parcels",oConn,3,3 rnj=1rnDo While Not sRs.Eof rnoRs.AddNew rn oRs(0)=j rn for i=0 to sRs.Fields.Count-1 rn oRs(i)=Trim(sRs(i)) rn Next rn oRs.Update rn sRs.MoveNext rn j=j+1 rnLoop rnrnsRs.Close rnoRs.Close rnoConn.Close rnsConn.Close rnSet oRs=nothing rnSet oConn=nothing rnrn%>rn该加一句什么样的代码呢?
c# 结构体定义中如何定义该结构体类型的成员
在c++ 中定义结构体 :rn struct Nodernrnint a;rnint b;rnNode node1;rnNode node2;rn;rnrn如果要在c# 定义这样的结构体 应该如何做呢?希望大家帮忙指点!
结构体的定义
方法一:先定义结构体类型,再定义结构体变量。 struct stu { int num; char name[20]; char sex; int age; float score; struct thdate brithdady; }; struct stu boy1,boy2; 方法二:在定义结构体类型的同时定义结构体变...
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合