标题:初学者 阅读c++入门经典遇到的问题
只看楼主
八钉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-9-30
结帖率:0
已结贴  问题点数:20 回复次数:5 
初学者 阅读c++入门经典遇到的问题
问一个大家看来也许很白痴的问题。但是的确是小白什么都不懂啊,好了问题如下:
我在看c++入门经典的时候看到这么个例子:
,然后后文也说到:
,随后还有
整个的代码,于是我就用vs2010自己敲这些代码,但是却红色波浪线显示有错误
,并且再运行之后跳出的对话框是这样的

所以好像花括号就是症结所在,但是作者明明说的就是可以这样定义啊,我又回顾前面的介绍,看到了:
,所以搞的我有点糊涂,
圆括号与花括号的用途到底如何区分,“函数定义中名称后面的圆括号,包含了调用函
数时要传递给函数的信息的说明”这句话怎么理解,“看起来像函数定义,但没有参数列表”是为什么,是不是在main函数后花括号里
便不能再定义新的函数了,我将int apple_count,orange_count及total_fruit后的花括号改成圆括号为什么就可以运行了。难道是我使用的编译器语法标准不一样?
求解答,万分感谢。
搜索更多相关主题的帖子: 经典的 波浪 
2016-09-30 20:57
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
得分:20 
函数定义和实现要写在主函数外面。花括号的作用是把多行代码纳入一个整体,当编译器在读代码时,遇到被花括号关起来的代码,在流程控制上可以承认它们为一行。
2016-09-30 21:53
家力掠
Rank: 2
等 级:论坛游民
帖 子:52
专家分:16
注 册:2015-6-28
得分:0 
应该是
#include <iostream>

int main()
{
    int apple(15);
    int orange(15);
    int total(apple+orange);

    std::cout<<apple<<std::endl<<orange<<std::endl<<total<<std::endl;
    return 0;
}

书本印错了,apple后面应该是()不是花括号。
2016-10-09 15:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
下次记得贴文字,而不是贴图,因为没有人愿意照着你的图重新输入一次代码

回正题,你有没有想过是因为你用的编译器太烂所以编译失败?事实就是这样,不是你的书错了,而是你错了,选了个过时的编译器。

int main( void )
{
    int a = 1;
    int b(1);
    int c{3};
}
2016-10-09 16:08
八钉
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-9-30
得分:0 
回复 4楼 rjsp
好的 受教了 刚开始学编程也是什么都不懂,后来自己也搞清楚了 是编译器的问题。
2016-10-09 17:11
StadyC
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:182
专家分:430
注 册:2016-10-13
得分:0 
这是标准问题,C++11标准才支持那种初始化,VS2010是不支持C++11的,用VS2012、VS2013或者VS2015吧
2016-10-14 10:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-469367-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018468 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved