主题:[原创]可以用空的main函数吗??
xiaomarge
[专家分:1980] 发布于 2007-05-03 11:35:00
考考你:C++可以支持空的main函数,你相信吗?
#defines SOMETHING
#include<someheader>
void main(void)
{
return;
}
程序的其他部分随意,只要主函数是空的,你有什么方法可以实现吗?
知道的告诉大家!呵呵没人回帖我再公布!
回复列表 (共28个回复)
11 楼
argentmoon [专家分:13260] 发布于 2007-05-04 23:04:00
class TriDat{
..
};
template<class T>
T TriData<class T>::Mid(void)
嗯。。我理解林杰杰不回贴的苦衷了。。
12 楼
eastcowboy [专家分:25370] 发布于 2007-05-04 23:06:00
下面这个可能是最小的C++程序了。
[code]int main()
{
}[/code]
注意main函数的返回类型必须是int。对于main函数如果不明确指定返回值,则编译器会自动在最后加上return 0;。
13 楼
雨中飞燕 [专家分:18980] 发布于 2007-05-04 23:17:00
[quote]void main(void)
{
return;
}[/quote]
楼主自己打自己嘴巴
14 楼
liyan4770 [专家分:50] 发布于 2007-05-04 23:36:00
楼主,这句话我不太理解,请给解释下,谢谢
template<class T>
T TriData<class T>::Max(void)
特别是,模板后是返回值T,而后应是一个函数,这里却是TriData<class T>::Max(void),<class T>这个在这里是干什么的?
15 楼
zjc_love [专家分:1770] 发布于 2007-05-05 08:50:00
[quote]你们真的不知道什么意思 吗?你的函数中加入了语句了!
我的意思是不论你其他部分怎么编写,只要求main函数的格式是
void main(void)
{
return;
}
main函数中除了return;以外,不加入代码,5楼的没有编译过吧??呵呵
还有2楼的吧
#include<iostream.h>
void main(void)
{
cout<<"Hello World!"<<endl;//有了这一行还是空函数吗?
return 'void';
}
还有,你即使编译了,你的编译后的可执行文件有甚么用呢?哈哈
[/quote]
vc 6下支持空的main()函数,老大....
//#include<iostream>
//using namespace std;
void main(void)
{
return ;
}
通过.....
#include<iostream>
using namespace std;
void main(void)
{
return ;
}
通过....
#include<iostream>
using namespace std;
int main(void)
{
return 0;
}
通过....
不知道你到底想要什么.............................????
16 楼
sarrow [专家分:35660] 发布于 2007-05-05 09:29:00
可能楼主想说:
“哦,你知道‘C++程序在main函数为空(无除return外的可执行语句)的情况下,也能完成既定工作’吗?”
然后,由于表达不够清楚,导致了和他人的交流问题...
17 楼
laodaqiu [专家分:9740] 发布于 2007-05-05 09:57:00
[quote]可能楼主想说:
“哦,你知道‘C++程序在main函数为空(无除return外的可执行语句)的情况下,也能完成既定工作’吗?”
然后,由于表达不够清楚,导致了和他人的交流问题...[/quote]
[em11][em16][em3]
LZ是想程序不再由main掌握大局,而由程序的各部份自己管理和互相协调。
18 楼
xiaomarge [专家分:1980] 发布于 2007-05-12 23:23:00
16,17楼的两位可以成为C++高手,!!鼓励!!!
没看懂有两种可能1:没说明白,2; 理解力不够!
你的空的函数可以编译,执行起来只不过闪一下就没了,甚至都不闪一下,没用的东西吗!呵呵,这样的程序还用劳烦你大驾编呀!呵呵
19 楼
hyerty [专家分:1110] 发布于 2007-05-13 01:57:00
看完全部回帖,楼主想说的这个我明白,不过楼主的意思绝对没讲明白,而且题目上写出不规范的主函数(主函数类型只能是int),绝对该打嘴巴。
我原以为楼主的意思是,不懂声明是主函数,在这里瞎扯蛋,主函数都写错。
后来以为,楼主是想说,程序入口函数不一定叫main,比如用CL编译就可以用/ENTRY自定义入口,win32程序的入口也是WinMain。
看了16楼sarrow的回复,才知道是这么个事。
20 楼
xiaomarge [专家分:1980] 发布于 2007-05-13 11:38:00
main函数的真正标准形式是int main(int argc,void **argv);
你即使写成int main(void)也不是正确的,至于WinMain是微软的杜撰,根本不是C++的标准,只不过C++不允许不给反馈类型的,如果我的函数不返回任何值,用返回值作什么?int返回值只不过是给本程序的调用者返回一个参数,让他知道本程序运行的结果,现在传递这个信息的方法太多了,已经不用了返回值传递了!
比如,检查C盘空间是否大于20GB,要是大于就返回1,不够返回0,这时候
int main(void)
{
int size=DiskSize()/1024L/1024L/1024L;
if(size>=20)return 1;
return 0;
}
其他程序调用他以后可以根据返回的1或者0 判断执行不同的功能了!
有动态库等等技术之后这种方法不太实用了!
我来回复