胡说之 Moderator 注册 2002-01-17 消息 5,182 荣誉分数 6 声望点数 0 2003-11-26 #1 Write any small program that will compile in "C" but not in "C++"
Rabbit 饿人谷支部书记 注册 2002-02-01 消息 35,035 荣誉分数 37 声望点数 0 2003-11-26 #3 这样的中吗 :blink: void main() { a(); } int a() { return 0; }
胡说之 Moderator 注册 2002-01-17 消息 5,182 荣誉分数 6 声望点数 0 2003-11-26 #4 用gcc和g++试验了一下,土图回答正确. 如果把void main该成int main,连warning 都没有. 收入journal了.
胡说之 Moderator 注册 2002-01-17 消息 5,182 荣誉分数 6 声望点数 0 2003-11-26 #5 最初由 AfterDie 发布 it depend on compiler ba? 点击展开... 你是南郭先生
shusheng CFC 分析员 VIP 注册 2003-07-10 消息 9,868 荣誉分数 440 声望点数 193 2003-11-26 #6 #ifdef __cplusplus #error Not Supported #endif
D dpff 新手上路 注册 2003-07-20 消息 326 荣誉分数 0 声望点数 0 2003-11-26 #8 A long long time ago, it was said that the compiler compiles .cpp in C++ and .c in C, and there was also a keyword called extern "C"...
A long long time ago, it was said that the compiler compiles .cpp in C++ and .c in C, and there was also a keyword called extern "C"...
胡说之 Moderator 注册 2002-01-17 消息 5,182 荣誉分数 6 声望点数 0 2003-11-26 #9 这个问题的核心是:有哪个feature, 在C里合法,而在C++里不合法.一般的看法是C++是C的super set, 所以出个牛角尖让大家钻.
Kent以东首帅哥 新手上路 注册 2002-01-27 消息 10,446 荣誉分数 0 声望点数 0 2003-11-26 #10 使用C++里的新保留字做变量名的程序也不可能通过C++ compiler.
M majia041 新手上路 注册 2003-04-14 消息 106 荣誉分数 0 声望点数 0 2003-11-27 #12 我给个段子 void main() {} 这个程序在gcc下能通过,但g++下过不了。 但是在vc6下是能过的。所以上面有个xd说和编译器有关我觉得也是对的。 这个问题我觉得有2种可能,1是和帅哥说的一样,用c++的保留字 2是利用c编译器对程序的要求不严密,而c++编译器下要求严密。 比如楼上的例子,其实c也是要求函数在用之前先定义的。 总之。。。还是说不清楚。
我给个段子 void main() {} 这个程序在gcc下能通过,但g++下过不了。 但是在vc6下是能过的。所以上面有个xd说和编译器有关我觉得也是对的。 这个问题我觉得有2种可能,1是和帅哥说的一样,用c++的保留字 2是利用c编译器对程序的要求不严密,而c++编译器下要求严密。 比如楼上的例子,其实c也是要求函数在用之前先定义的。 总之。。。还是说不清楚。
胡说之 Moderator 注册 2002-01-17 消息 5,182 荣誉分数 6 声望点数 0 2003-11-27 #13 void main(){} 我用g++试过,能过,只给了warning 土图写的function a()很重要,如果没在使用前定义,g++不让过.
M majia041 新手上路 注册 2003-04-14 消息 106 荣誉分数 0 声望点数 0 2003-11-27 #14 so which means this really depends on the compiler. i tried this program with g++ on linux, and could not pass.
so which means this really depends on the compiler. i tried this program with g++ on linux, and could not pass.
M majia041 新手上路 注册 2003-04-14 消息 106 荣誉分数 0 声望点数 0 2003-11-27 #15 [root@*** tem]# ls simpc.cpp [root@*** tem]# cat simpc.cpp void main() {} [root@*** tem]# g++ simpc.cpp -o simpc simpc.cpp:2: `main' must return `int' [root@*** tem]# ls simpc.cpp [root@*** tem]#
[root@*** tem]# ls simpc.cpp [root@*** tem]# cat simpc.cpp void main() {} [root@*** tem]# g++ simpc.cpp -o simpc simpc.cpp:2: `main' must return `int' [root@*** tem]# ls simpc.cpp [root@*** tem]#