社区
C++ 语言
帖子详情
const的疑问
csucdl
2005-09-29 03:58:45
const char* Search(const char **Sourcestring, const char *key, const int &num);
这个函数的参数Sourcestring该传递怎样的实参
我这样作
char *source[] = {"ab", "ac", "ad", "ae"};
然后将source作为实参
但是编译通不过,报错为不能将char*[] 转换为const char**
请教一下
...全文
184
6
打赏
收藏
const的疑问
const char* Search(const char **Sourcestring, const char *key, const int &num); 这个函数的参数Sourcestring该传递怎样的实参 我这样作 char *source[] = {"ab", "ac", "ad", "ae"}; 然后将source作为实参 但是编译通不过,报错为不能将char*[] 转换为const char** 请教一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yhbttfile
2005-09-29
打赏
举报
回复
这里可能的原因是,你调用函数的时候,编译器需要做两次转换。C++在做隐式转换的过程中,不允许出现隐式转换两次。
如:
void f(const char **) // 1
{
}
int main()
{
char *source[] = {"ab", "ac", "ad", "ae"}; // 2
f(source); // 3
}
“3”处,如果要把char *[4]转换为“const char **”,首先要把char []隐式转换为char *,然后再把char *转换为const char *。这里已经超越了C++的转换次数的限制。
可以使用你愿意的方法来消除这样的转换次数。
如:
把“1”处修改为:void f(char **)
或者
把“2”处修改为:const char *source[] = {"ab", "ac", "ad", "ae"};
或者做如下修改:
void f(char * const *)
{
}
int main()
{
char **source = new char *[10];
f(source);
}
第三种修改方法比较有意思,呵呵,考虑一下吧。
csucdl
2005-09-29
打赏
举报
回复
这里加上const 其什么作用,为什么要加上
一元指针不用的啊
csucdl
2005-09-29
打赏
举报
回复
megaboy
2005-09-29
打赏
举报
回复
你用的什么编译器啊?BC与VC都可以通过的。
runall
2005-09-29
打赏
举报
回复
const char *source[] = {"ab", "ac", "ad", "ae"};
NetsEagle
2005-09-29
打赏
举报
回复
char *source[] = {"ab", "ac", "ad", "ae"};
============================
加上const
const char *source[] = {"ab", "ac", "ad", "ae"};
另外:const char* Search(const char **Sourcestring, const char *key, const int &num);
const int &num //这里没有这个必要吧,有点看不懂想干什么?去掉const返回索引?
详解C语言中
const
关键字的用法
关键字
const
用来定义常量,如果一个变量被
const
修饰,那么它的值就不能再被改变,我想一定有人有这样的
疑问
,C语言中不是有#define吗,干嘛还要用
const
呢,我想事物的存在一定有它自己的道理,所以说
const
的存在一定...
const
疑问
今天在做一道笔试题时遇到的这个问题:#include using namespace std; int main() {
const
int a =10; int* p =(int*)(&a); *p=20; cout,*p = "*p; return 0; }输出的值为 a= 10 *p=2
C语言中
const
关键字的用法
关键字
const
用来定义常量,如果一个变量被
const
修饰,那么它的值就不能再被改变,我想一定有人有这样的
疑问
,C语言中不是有#define吗,干嘛还要用
const
呢,我想事物的存在一定有它自己的道理,所以说
const
的存在一定...
关于
const
的
疑问
1.c语言中的
const
const
修饰的变量是只读的,本质还是变量
const
修饰的局部变量在栈上分配空间
const
修饰的全局变量在只读存储区分配空间
const
只在编译期有用,在运行期间无用
const
修饰的变量不是真正的常量,...
const
与非
const
类型赋值问题
呵呵,不知道有没有其他新手和我有相同的
疑问
呢?还算我运气好,今天不知道怎么会触发了灵感,终于把这个小白问题想通了。答案就是: 从
const
int到int的赋值操作,是一种对象的拷贝,赋值后我们在对象的副本上操作...
C++ 语言
64,643
社区成员
250,477
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章