C++中字符串引用的问题

[复制链接]
查看11 | 回复3 | 2017-7-30 10:55:55 | 显示全部楼层 |阅读模式
C的字符串实质是char型数组,数组没有引用,C也没有引用类型,所以不能引用传递。C++兼容C的char型数组,C++虽有引用类型,但数组没有引用的规则仍然有效,所以也不能用引用传递char型数组。C++的字符串是类string的对象,类对象是允许引用的,所以C++的字符串对象是可以引用传递的,以下代码可以佐证://#include "stdafx.h"//If the vc++6.0, with this line.#include #include using namesp...
回复

使用道具 举报

千问 | 2017-7-30 10:55:55 | 显示全部楼层
错在以下两个地方:(1)数组传递本就是指针传递,不能使用引用方式,系统会报错arrays of references are illegal(对数组引用是错误的),去掉&符号编译是没有问题的。(2)你的strcpy(temp,s);正好写反了,应该是strcpy(s,temp);这才是把temp的内容复制到s中。最终代码:#include<iostrea...
回复

使用道具 举报

千问 | 2017-7-30 10:55:55 | 显示全部楼层
voidfun(char&s[20])改为voidfun(char*s)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行