有关输入输出流和头文件的问题(在vs中)
2016-04-10 17:31
281 查看
在vs中编译代码有许多需要注意的地方,其中头文件的问题时最麻烦的,同时它也是最需要“细腻”的地方。
下面就常见的一些问题与大家分享。
编译环境:vs2015
编写语言:c++
在vs2015中编写如下代码:
输入年龄然后打印输出。
但是怎么会这样呢?
如果您遇到了这个问题不要捉急!
下面就是解决方法:
没错,就是头文件的顺序。
我把stafx.h这个头文件放在了前面。为什么?
这是因为在vs中会进行程序的框架扩展(有关这个问题请看我的另一篇又跟头文件的文章)/article/9147097.html
在这里不多说了。
那么怎么回事呢?因为把iostream放在后面是正确的程序运行顺序。当vs运行时,他会先读stdafx.h这个头文件,然后再运行iostream这个头文件,否则他就只运行stdafx.h这个头文件了,不运行iostream这句代码了。(这里只是稍加解释,没有用标准语言,预编译指令)
所以提示cout cin endl为未声明的标识符。
还有cout 和cin以及endl都是c++的指令(我认为的,没有用标准语言),所以要小心了。
改了头文件的顺序当然就可以运行了。
这个问题在vc6.0中是没有的,从理论上说只要不是vs这样要用stdafx.h头文件的话,都不用在意顺序的。至少在vc6.0和codeblock和dev上是不用的。(已经测试过了)
因为qt,本人没有使用,大家可以试一试看看能不能行,欢迎分享!有关头文件的问题欢迎访问我的博客/article/9147097.html
也欢迎给我留言或者发邮件!1099723261@qq.com
下面就常见的一些问题与大家分享。
编译环境:vs2015
编写语言:c++
在vs2015中编写如下代码:
输入年龄然后打印输出。
但是怎么会这样呢?
如果您遇到了这个问题不要捉急!
下面就是解决方法:
没错,就是头文件的顺序。
我把stafx.h这个头文件放在了前面。为什么?
这是因为在vs中会进行程序的框架扩展(有关这个问题请看我的另一篇又跟头文件的文章)/article/9147097.html
在这里不多说了。
那么怎么回事呢?因为把iostream放在后面是正确的程序运行顺序。当vs运行时,他会先读stdafx.h这个头文件,然后再运行iostream这个头文件,否则他就只运行stdafx.h这个头文件了,不运行iostream这句代码了。(这里只是稍加解释,没有用标准语言,预编译指令)
所以提示cout cin endl为未声明的标识符。
还有cout 和cin以及endl都是c++的指令(我认为的,没有用标准语言),所以要小心了。
改了头文件的顺序当然就可以运行了。
这个问题在vc6.0中是没有的,从理论上说只要不是vs这样要用stdafx.h头文件的话,都不用在意顺序的。至少在vc6.0和codeblock和dev上是不用的。(已经测试过了)
因为qt,本人没有使用,大家可以试一试看看能不能行,欢迎分享!有关头文件的问题欢迎访问我的博客/article/9147097.html
也欢迎给我留言或者发邮件!1099723261@qq.com
相关文章推荐
- Tomcat中 server.xml 的Context的配置
- 中文字符转数字(可能会很大)
- 学习vb的心得体会
- /[\u4e00-\u9fa5]/汉字的正则匹配
- 解决HTML5布局,兼容IE问题
- Android开发之事件分发和Listener
- java递归算法总结
- 绘图(五,Android图像变换基础知识矩阵Matrix)
- 堆是实现
- Service中onStartCommand()理解
- BestCoder Round #79 (div.2) 1002 Claris and XOR
- Oracle--单行函数(字符函数、数字函数、日期函数、转换函数、通用函数)
- 理解堆栈及其利用方法
- IntelliJ IDEA设置系列(六):小技巧集锦
- nretraPdroW.290
- 从有序数组中查找某个值 low_bound
- iOS中的数据存储方式_SQLite3
- Unicode与UTF-8
- Arcgis engine编程报错查询
- 每个程序员都会犯的十个错误