标题:重复定义的现象怎么避免???
只看楼主
绿柳涟漪
该用户已被删除
 问题点数:0 回复次数:7 
重复定义的现象怎么避免???
提示: 作者被禁止或删除 内容自动屏蔽
搜索更多相关主题的帖子: 定义 现象 
2010-05-06 22:17
绿柳涟漪
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-07 08:38
绿柳涟漪
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-07 10:44
张丹
Rank: 2
等 级:论坛游民
帖 子:94
专家分:66
注 册:2010-6-7
得分:0 
可是我的还是有错怎么办呢?
#define        STKLABEL_LEN            10            // 股号数据长度,国内市场股号编码兼容钱龙
#define        STKNAME_LEN                32            // 股名长度


typedef struct tagRCV_REPORT_STRUCTEx
{
    WORD    m_cbSize;                                    // 结构大小
    time_t    m_time;   
}RCV_REPORT_STRUCTEx;
class CSTKDRV  
{
public:
    CSTKDRV();
    virtual ~CSTKDRV();
public:
    DWORD GetStockDrvInfo(int nInfo,void * pBuf);
    int SetupReceiver(BOOL bSetup);
    DWORD (WINAPI * m_pfnGetStockDrvInfo)(int nInfo,void * pBuf);
    int    (WINAPI *    m_pfnSetupReceiver)(BOOL bSetup);
};
#endif
我这样写仍然有错
2010-06-08 11:30
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:0 
回复 4楼 张丹
程序代码:
#ifndef        STKLABEL_LEN            10   
#define        STKNAME_LEN                32       

typedef struct tagRCV_REPORT_STRUCTEx
{
    WORD    m_cbSize;                                    // 结构大小
    time_t    m_time;   
}RCV_REPORT_STRUCTEx;
class CSTKDRV 
{
public:
    CSTKDRV();
    virtual ~CSTKDRV();
public:
    DWORD GetStockDrvInfo(int nInfo,void * pBuf);
    int SetupReceiver(BOOL bSetup);
    DWORD (WINAPI * m_pfnGetStockDrvInfo)(int nInfo,void * pBuf);
    int    (WINAPI *    m_pfnSetupReceiver)(BOOL bSetup);
};
#endif
2010-06-08 12:15
张丹
Rank: 2
等 级:论坛游民
帖 子:94
专家分:66
注 册:2010-6-7
得分:0 
我按照你的那样改了,但是还是不正确
2010-06-08 15:54
张丹
Rank: 2
等 级:论坛游民
帖 子:94
专家分:66
注 册:2010-6-7
得分:0 
报的这样的错误
d:\我的文档\桌面\最终版hqgenerator_release\hqgenerator_release\recv\stkdrv.h(18) : error C2011: 'tagRCV_REPORT_STRUCTEx' : 'struct' type redefinition
RecvThread.cpp
d:\我的文档\桌面\最终版hqgenerator_release\hqgenerator_release\recv\stkdrv.h(18) : error C2011: 'tagRCV_REPORT_STRUCTEx' : 'struct' type redefinition
RecvWnd.cpp
d:\我的文档\桌面\最终版hqgenerator_release\hqgenerator_release\recv\stkdrv.h(18) : error C2011: 'tagRCV_REPORT_STRUCTEx' : 'struct' type redefinition
STKDRV.CPP
2010-06-08 15:56
神左手
Rank: 2
等 级:论坛游民
帖 子:46
专家分:62
注 册:2010-4-24
得分:0 
以下是引用绿柳涟漪在2010-5-7 08:38:11的发言:

条件编译,
#ifndef
#define
#endif
可以避免被同一文件包含多次
#ifndef和#define后面的宏名要相同啊
2010-06-08 18:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-305667-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175586 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved