现在2点10.难得有一天能整到这个时候睡了……拜C++所赐。
因为最近在学面向对象的C++语言,才开了个头。准备写我此生第一个C++程序,当然仍旧是hello world。于是我写了下面几行代码:
#include<iostream> using namespace std; void main(){ cout<<"hello world"<<endl; }
按照C语言理应完美运行的,一切正常后缀是cpp,工程建的没问题。但是放在VS2010下面就是出错。编译没问题,已运行就出了错误弹窗,提示“无法启动程序”,“拒绝访问”如下图(其实之前还有一个类似的错误弹窗提示的是无法启动cmd.exe):
当然,那里面那些“奇怪”是我给起的名字而已,因为太奇怪——把这个代码放到VC6下编译运行一切正常。
这让我有点恼火,而且输出不了字符串,但cout<<a+b;却是可以输出的。在网上查也是大多数人向白痴一样的回答,没一个能解决问题。于是我开始重装VS2010。VS2010大的不行,重装花了一个多小时,装好再试,依旧老问题。
但是至少我明白不是VS文件哪有损坏了。我想一个hello world都整不清楚还怎么学C++……后来在网上无意间看到有人的程序后面加了一句:
system("pause");
让我豁然开朗。因为刚才试验的时候我发现,当输出cout<<a+b;的时候,cmd窗体是一闪而过的(我按得是Ctrl+F5,在C语言里是可以停留在结果),而system("pause");作用就是让它停止。于是我拿来试,把这句话加到结尾,成功运行。
虽然不知道为什么,但解决了一个问题,也算今天熬到这么晚的收获把。