Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compiler errors 带泛型的rust结构编译错误_Compiler Errors_Rust - Fatal编程技术网

Compiler errors 带泛型的rust结构编译错误

Compiler errors 带泛型的rust结构编译错误,compiler-errors,rust,Compiler Errors,Rust,我用rust编写了以下代码。版本为0.12.0-pre-nightly struct Sample<T> { x: T } impl<T> Sample<T> { pub fn new<T>(v: T) -> Sample<T> { Sample { x: v } } pub fn get<T>(&self) -> T { self.x

我用rust编写了以下代码。版本为0.12.0-pre-nightly

struct Sample<T> {
    x: T
}

impl<T> Sample<T> {
    pub fn new<T>(v: T) -> Sample<T> {
        Sample { x: v }
    }

    pub fn get<T>(&self) -> T {
        self.x
    }
}

fn main() {
    Sample::new(0i).get(); // expect int 0
}
我无法通过编译器消息理解为什么无法编译示例程序。
如何修复它?

不要在方法中添加类型参数。他们必须使用
impl
中的一个

struct Sample<T> {
    x: T
}

impl<T> Sample<T> {
    pub fn new(v: T) -> Sample<T> {
        Sample { x: v }
    }

    pub fn get(&self) -> T {
        self.x
    }
}

fn main() {
    Sample::new(0i).get(); // expect int 0
}
struct Sample<T> {
    x: T
}

impl<T> Sample<T> {
    pub fn new(v: T) -> Sample<T> {
        Sample { x: v }
    }

    pub fn get(&self) -> T {
        self.x
    }
}

fn main() {
    Sample::new(0i).get(); // expect int 0
}
    pub fn get(&self) -> &T {
        &self.x
    }