小编Joh*_*ohn的帖子

在C++中将指针变量分配给const int?

我想知道是否有人可以向我解释以下内容:如果我写的话

int i = 0;
float* pf = i;
Run Code Online (Sandbox Code Playgroud)

我收到编译错误(gcc 4.2.1):

error: invalid conversion from ‘int’ to ‘float*’
Run Code Online (Sandbox Code Playgroud)

有道理 - 它们显然是两种完全不同的类型.但如果相反我写

const int i = 0;
float* pf = i;
Run Code Online (Sandbox Code Playgroud)

它编译没有错误.为什么'const'会在作业的右侧产生影响?'const'关键字的概念不是能够对常量值强制执行类型约束吗?

我能够提出的任何解释都有点虚伪.我的解释也没有解释这个事实

const int i = 1;
float* pf = i;
Run Code Online (Sandbox Code Playgroud)

无法编译.任何人都可以提供解释吗?

c++ pointers const

9
推荐指数
1
解决办法
314
查看次数

标签 统计

c++ ×1

const ×1

pointers ×1