// 50指针数组.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
using namespace std;
int main()
{
//声明指针数组
const char* colors[] = { "Red","Blue","Yellow","Green" };
//指向指针的指针变量
char **pt;
//通过指向指针的的变量访问其指向的内容
pt = colors;
for (int i = 0; i <= 3; i++)
{
cout << "pt=" << pt << endl;
cout << "*pt=" << *pt << endl;
cout << "**pt=" << **pt << endl;
pt++;
}
}
![](https://profile-avatar.csdnimg.cn/2de02477b73d416aa2295b1342621cb1_johnor.jpg!4)
如何将一个指针类型的数组的地址赋值给一个指向这个指针型数组的指针型变量pt,编译器报错如下图
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Frank_Liuxing 2022-03-11 10:41关注
正如编译器所提示,不能将const char** 的值分派给char的类型,因为约束条件变弱了。colors是指向(const char*)的,指向对象不能修改; char pt是指向(char*),指向对象能修改,编译器不允许你通过赋值就去掉变量的const属性。
修改方法:把pt也用const修饰。const char** pt;
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报