// 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++;
}
}
正如编译器所提示,不能将const char** 的值分派给char的类型,因为约束条件变弱了。colors是指向(const char*)的,指向对象不能修改; char pt是指向(char*),指向对象能修改,编译器不允许你通过赋值就去掉变量的const属性。
修改方法:把pt也用const修饰。
const char** pt;
指针类型不匹配:
//声明指针数组
const char* colors[] = { "Red","Blue","Yellow","Green" };
//指向指针的指针变量
const char **pt;
// 或者
//声明指针数组
char* colors[] = { "Red","Blue","Yellow","Green" };
//指向指针的指针变量
char **pt;