GCC编译器和G++编译器的区别
最好是能够结合hihocoder的实际经验来谈谈。我在上面提交程序的时候,总是发现我自己明明写的是C语言,按理来说应该是使用GCC编译器,但是总是会报错(前提是在我的VS...
最好是能够结合hihocoder的实际经验来谈谈。我在上面提交程序的时候,总是发现我自己明明写的是C语言,按理来说应该是使用GCC编译器,但是总是会报错(前提是在我的VS2010已经编译通过),后来我偶然使用了G++,结果通过了。这是怎么回事。到底这俩编译器有什么区别?谢谢了!
对了,当我使用GCC编译的时候,编译器返回的错误是在我的结构体设计的部分。
typedef struct NodeTrie
{
NodeTrie *p;
……;
}
总是会说我的第二个NodeTrie是没有定义的,但是使用了G++之后,问题解决。这没有道理啊。我实在hihocoder上面提交程序。 展开
对了,当我使用GCC编译的时候,编译器返回的错误是在我的结构体设计的部分。
typedef struct NodeTrie
{
NodeTrie *p;
……;
}
总是会说我的第二个NodeTrie是没有定义的,但是使用了G++之后,问题解决。这没有道理啊。我实在hihocoder上面提交程序。 展开
1个回答
2014-11-21 · 知道合伙人软件行家
关注
展开全部
按照c的写法 第二个NodeTrie *p应当写成struct NodeTrie *p,按照c++的写法实际不需要typedef了,struct与class的唯一区别就是成员变量前者默认public后者默认private 。
c的语法在NodeTrie *p这个时候 由于还没走到右花括号那个NodeTrie ,也就是说typedef还没有完成,那么自然他不认识NodeTrie 这是什么东西,只认识struct NodeTrie
c的语法在NodeTrie *p这个时候 由于还没走到右花括号那个NodeTrie ,也就是说typedef还没有完成,那么自然他不认识NodeTrie 这是什么东西,只认识struct NodeTrie
追问
谢谢你。但是为什么在我电脑上的vs2010下编译的却没有错误呢?
追答
因为当做是c++编译的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询