免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1960 | 回复: 1
打印 上一主题 下一主题

大家帮忙看看这是怎么回事 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-21 17:02 |只看该作者 |倒序浏览
class a
{
public:
struct timeItpair;
typedef std::map<key,timeItpair,ltkey> LKMAP;   
LKMAP lookupMap;   
typedef std::multimap<const time_t,LKMAP::iterator> REVERSE_LKMAP;   
REVERSE_LKMAP reverse_lkMap;

    struct timeItpair
    {
        time_t t;
        REVERSE_LKMAP::iterator it;
        timeItpair (const timeItpair& target)
        {      
            t=target.t;
            it= target.it;
        }      
        timeItpair ()
        {      
        }      
    };
};
上述代码在GCC 3.3.3 linux上可以编过并能运行, 但在hp-unix上用aCC 就提示
Error 239: "/opt/aCC/include/../include/utility", line 101 # A class/union shall not contain a member with incomplete type.
        T2 second;
           ^^^^^^
Error 537: "/opt/aCC/include/../include/utility", line 101 # Cannot create a 'timeItpair' object; struct timeItpair has only been seen as an incomplete declaration.
        T2 second;
           ^^^^^^
为这事头疼了一天多了,有没有人遇到过这种问题,虽然有点前向声明的意思,但为啥gcc上就能过呢,谢谢

论坛徽章:
0
2 [报告]
发表于 2011-09-22 09:47 |只看该作者
转成指针就过了,看来还是前向声明的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP