< 返回版块

rock117 发表于 2020-12-03 12:51

Tags:指针

使用const修饰裸自定义结构体指针时,编译出错 以下是例子:


const PTR_STR: *const i32 = &12 as *const i32;
const PTR_A: *const A = &A{} as *const A;
fn main() {}
struct A{}
impl Drop for A{
    fn drop(&mut self) {
        println!("A drop");
    }
}

出错信息:
error: untyped pointers are not allowed in constant
  --> src\main.rs:10:1
   |
10 | const PTR_A: *const A = &A{} as *const A;
   | ^^^


如果将impl Drop for A{ 注释掉,则编译没问题。 另外PTR_STR则不会出错,为何自定义结构体就会有问题, 望各位大神给予解答,谢谢 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

评论区

写评论
作者 rock117 2020-12-03 17:12

好的 谢谢

--
👇
shaitao: 就是编译器不支持..

shaitao 2020-12-03 16:55

就是编译器不支持..

1 共 2 条评论, 1 页