今天看到一个比较有趣的题目,如下代码,分析输出结果

#include <stdio.h>

void num(int &b)
{
b = 222;
return;
}
int main()
{
int y = 3;
num(y);
printf("y = %d\n", y);
return 0;
}

起初我认为,在C语言中,这样的操作时改变了y的地址,但是它的值并没有改变,所以执行main函数后,y的值不变,还是3

经过测试之后发现,这样的代码编译都无法通过,突然恍然大悟,这是c++中的引用,很久没有用c++,居然连这都忘记了。。。

切入主题,编译这个代码,会出现这样的错误:error: expected ‘;’, ‘,’ or ‘)’ before ‘&’ token

其实在C语言中是不存在引用的,也就是说C语言中&表示的不是引用,而是取地址符。所以编译器出现的错误提示表明&在这里不能这样用,如何解决这个问题呢?

1、常规的解决方法:用指针来取代引用,在主函数中传进来地址;

2、将代码扩展名保存成.cpp文件

错误解决:error: expected ‘;’, ‘,’ or ‘)’ before ‘&’ token的更多相关文章

  1. Centos 7 成功安装 dosbox 解决 "error: expected primary-expression before ‘,’ token" 错误

    dosbox-0.74 bug 修复版下载: http://download.csdn.net/detail/yangbodong22011/9663271 注意:这篇博客解决了下面这个问题,如果你也 ...

  2. 坑备忘error: expected class-name before '{' token

    今日重构之前的代码,修改了命名空间,然后一处派生的子类定义处总是总是报error: expected class-name before '{' token,网上查了查原因,出现这种情况大致有两种情况 ...

  3. Cocos2d-x 3.0 编译出错 解决 error: expected &#39;;&#39; at end of member declaration

    近期把项目移植到cocos2d-x 3.0,在整Android编译环境的时候,出现一大堆的编译出错,都是类似"error: expected ';' at end of member dec ...

  4. visual studio错误解决 [error LNK1104: 无法打开文件“gdi32.lib”]

    哔了狗.我是win7装的vs2013,本着体验一下"新"玩意的心情.(然而2017都快出来了),没想到竟遇到如此粗鄙的问题. 从错误信息上明显可以了解是缺少一个静态库.(当然错误信 ...

  5. 错误解决error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file

    转自:http://blog.csdn.net/david_xtd/article/details/7625626 前提:ubuntu-debug机器上向SVN提交了pdu-IVT,想在别的普通机器上 ...

  6. mysql连接错误解决(ERROR 2049 (HY000): Connection using old (pre-4.1.1) authentication protocol ref used (client option 'secure_auth' enabled))

    当使用mysql的新版本是,连接老版本的mysql,就会有可能报: ERROR 2049 (HY000): Connection using old (pre-4.1.1) authenticatio ...

  7. 错误解决Error configuring application listener of class org.springframework.web.util.Log4jConfigListener(转发)

    Spring MVC-----maven项目导入后启动tomcat出现如下错误 参考:http://blog.csdn.net/itlionwoo/article/details/17523371 解 ...

  8. error: expected class-name before '{' token(转)

    错误原因 1. 头文件引用的类中,结尾可能少了;  ,, 例如:class Cwj{}          忘记了以;结尾哦. 2. 引用的头文件的顺序先后相互冲突:例如:Msg类中包含了#includ ...

  9. spark编译错误解决 Error:(52, 75) not found: value TCLIService

    对于2.20版本可能会出现以下问题: spark\sql\hive-thriftserver\src\main\java\org\apache\hive\service\cli\thrift\Thri ...

随机推荐

  1. vscode快捷键补充

    ctrl+enter 快速还到下行并插入一行 ctrl+shift+enter 快速换到上行并插入一行 ctrl+~ ctrl+1 快速在终端与代码区切换 ctrl+i 选中一行 ctrl + p: ...

  2. Cookie和Session有什么区别

    1. 由于HTTP协议是无状态的协议,所以服务端需要记录用户的状态时,就需要用某种机制来识别具体的用户,这个机制就是Session.   典型的场景比如购物车,当你点击下单按钮时,由于HTTP协议无状 ...

  3. async-validator 的中文文档翻译

    阿里出品的 antd 和 ElementUI 组件库中表单校验默认使用的 async-validator,它在 gitbub 上也获得了 3.8k 的 star,可见这个库十分强大,奈何只有英文文档看 ...

  4. django-7-django模型系统

    <<<常用的模型字段类型>>>https://docs.djangoproject.com/en/2.1/ref/models/fields/#field-type ...

  5. HDU 4321 Contest 3

    题意:给定a和b,n,让你求b+a, b+2*a, .......b+n*a里面有多少1. 当统计第K位的时候 可以注意到 第 B+T*A 和 B+(T+2^(K+1))*A 位是相同的 那么 第K位 ...

  6. sqlite学习笔记11:C语言中使用sqlite之删除记录

    最后一节,这里记录下怎样删除数据. 前面全部的代码都继承在这里了,在Ubuntu14.04和Mac10.9上亲測通过. #include <stdio.h> #include <st ...

  7. poj 3311 Hie with the Pie (TSP问题)

    Hie with the Pie Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 4491   Accepted: 2376 ...

  8. 根据数据表自动生成javaBean

    package fanshe; import java.io.File; import java.io.FileWriter; import java.io.IOException; import j ...

  9. ES什么时候会平衡分片

    "cluster.routing.allocation.balance.shard":"0.45f",//定义分配在该节点的分片数的因子 阈值=因子*(当前节点 ...

  10. Linux就该这么学 20181003(第三章管道符)

    参考链接https://www.linuxprobe.com/ 输入输出重定向 标准输入重定向STDIN 文件描述符0 默认键盘输入 标准输出重定向STOUT 文件描述符1 默认输出到屏幕 错误输出重 ...