< 返回版块

yuanzui 发表于 2023-06-30 10:30

Tags:菜鸟学习中遇到的问题

定义和使用不在同一个文件,但再同一个mod下

###定义处

pub struct ProtocolResult<T> {
    status: bool,
    info: String,
    code: u16,
    data: T,
}

pub trait ProtocolTrait<T> {
    fn read_protocol(&self, read_handle: &mut OwnedReadHalf) -> ProtocolResult<T>;
    fn write_protocol(&self, package: &[u8]) -> ProtocolResult<T>;
}

pub struct Protocol {}

impl ProtocolTrait<Option<Vec<u8>>> for Protocol {
    fn read_protocol(&self, read_handle: &mut OwnedReadHalf) -> ProtocolResult<Option<Vec<u8>>> {
        ...
    }

    fn write_protocol(&self, message: &[u8]) -> ProtocolResult<Option<Vec<u8>>> {
        ...
    }
}

###使用处

let p = protocol::Protocol{};
p.read_protocol(&read_handle); // 这里报错,找不到read_protocol方法

不知道为什么会找不到这个方法,有大佬帮忙解释一下么?我在google搜不到相关内容,提示只提示找不到,没有其他提示。

评论区

写评论
作者 yuanzui 2023-06-30 10:41

已解决。

1 共 1 条评论, 1 页