相关疑难解决方法(0)

为什么将"指向非const的指针"转换为"指向const的指针"是不合法的

合法的指针到非const转换为指针到常量.

那么为什么将指向非const指针转换为指向const指针是不合法的呢?

例如,为什么以下代码是非法的:

char *s1 = 0;
const char *s2 = s1; // OK...
char *a[MAX]; // aka char **
const char **ps = a; // error!
Run Code Online (Sandbox Code Playgroud)

c++ pointers const const-correctness

35
推荐指数
5
解决办法
5875
查看次数

C中的指针到const转换

以下代码在GCC上编译时没有警告,但在Visual Studio 2005中发出警告.

const void * x = 0;
char * const * p = x;
Run Code Online (Sandbox Code Playgroud)

x指向未知类型的常量对象,p指向char的常量指针.为什么p的赋值会导致警告?

同样,这是C,而不是C++.谢谢.

c const

4
推荐指数
1
解决办法
8268
查看次数

标签 统计

const ×2

c ×1

c++ ×1

const-correctness ×1

pointers ×1