gpt4 book ai didi

c++ - 将字符串作为指针传递时出错,无法将 const char* 分配给 char*

转载 作者:太空宇宙 更新时间:2023-11-04 15:11:54 24 4
gpt4 key购买 nike

<分区>

我正在根据教科书(C++:初学者指南,第二版,Herbert Schildt)学习 C++。下面的程序代码来自书上,结果报错,请大神解释一下为什么不可以?

目的是演示一个指针作为参数:

#include <iostream>

using namespace std;

char *get_substr(char *sub, char *str); //function prototype

int main()
{
char *substr;
substr = get_substr("three", "one two three four");

cout << "substring found: " << substr;

return 0;
}

我不会列出函数体,因为它按照您的预期运行,但即使它只返回零,也会导致以下错误:E0167 类型为“const char *”的参数与引用函数调用的类型为“char *”的参数不兼容。我的理解是一个字符串基本上是 C 中的一个 char 数组,为什么不允许这样做,什么是合适的替代方案?提前谢谢你。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com