const cast和指向指针的指针

时间:2011-11-14 17:45:52

标签: c++

  

可能重复:
  Double pointer const-correctness warnings in C

为什么第1,第2和第3个案例在C ++中工作正常,但在数字4中工作正常?

//1
char* p1;
const char* p2 = p1;

//2
char** p3;
char * const * p4 = p3;

//3
char** p5;
const char* const * p6 = p5;

//4
char** p7;
const char** p8 = p7;

2 个答案:

答案 0 :(得分:4)

答案 1 :(得分:0)

可能想要这样做:

//4
typedef char** PPCHAR; 
PPCHAR p7;
const PPCHAR p8 = p7;

在原始形式中,编译器指责松开const限定(好的是,当转换为非指针指针时,constant-char的指针指针正在失去const限定条件) const-char),但是如果你以这种方式输入它们,那么你将按照你最初想要的方式给出解释的优先权。

相关问题