C++:cannot convert ‘const char (*)[5]’ to ‘char*’
问题
#include <iostream> using namespace std; int main() { char * p=&"good"; cout<<p; }
报错:
error: cannot convert ‘const char (*)[5]’ to ‘char*’ in initialization
原因
如果只给出一个字符串,那么会默认为它的类型是 const char *,是一个常量类型。
而指针无法指向一个常量的地址,所以不能这样写。
解决方法
①定义一个字符数组,让p指向它的首地址:
char c []="good"; char *p=c; cout<<p;
②在声明指针时就让它指向该字符串
char *p="good"; cout<<p;
分类:
C++&C
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2021-05-24 QT:Qt Creator中创建的各种项目说明
2021-05-24 QT:QT Creator下载安装
2019-05-24 Python:取整函数、四舍五入