利用不同的编译器来编译相同的代码,代码里面有:
void main()
为什么有一些编译器会报错?是由于什么导致的?
如果你要深入研究编译器之间的区别,这个问题可能有意义,如果只是走马观花,我觉得这个问题没有多大意义,例某些支持metaWare,有些不支持,所以这个问题main()这个锅大概没有解,有些编译器可以直接void main(),有些又要必须传(int argc,char **argv),所以这个是编译器厂商的锅,你不必一锅端来研究区别
应该是C语言和C++的语法混杂导致的吧,有的编译器对C语言的语法检查非常严格,必须严格符合才能通过,而有的编译器比较宽容,在cpp文件中用C语言的写法也可以
每一个编译器都不一样
即使语法相同 但是规矩不一样
所以尽量写可移植性强的代码
符合大多数规矩的代码
比如int main
相对void main会好很多
void main()不是正确的写法,只不过有些编译器支持。
规范的应该是int main()
赞同楼上观点,代码应该按照C++规范写,而不是写出某一个编译器支持的代码
用符合规定的代码最好是原c语言的c++支持c,但是c不支持c++