小编Bra*_*ran的帖子

我们可以使用 C++ 中限定为常量且值为 0 的变量来初始化指针吗?

根据 C++ Primer 一书,我们可以将限定为 const 且值为 0 的变量分配给指针。这是书中的相关内容。

可以分配文字 0 或在编译时已知其值为 0 的常量:

然后提供以下代码片段。

int ival;
int zero = 0;
const int c_ival = 0;
int *pi = ival;        // error
pi = zero;             // error
pi = c_ival            // ok: c_ival is a const with compile-time value of 0
Run Code Online (Sandbox Code Playgroud)

但是,当我运行类似的代码时,会引发错误。

int main()
{
    const int c_ival = 0;
    int *pi = c_ival;            
}
Run Code Online (Sandbox Code Playgroud)

错误:从“int”到“int*”的无效转换 [-fpermissive]

我究竟做错了什么?

c++ pointers null-pointer nullptr

0
推荐指数
1
解决办法
55
查看次数

标签 统计

c++ ×1

null-pointer ×1

nullptr ×1

pointers ×1