首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >read &mut [u8]调用Read::read

read &mut [u8]调用Read::read
EN

Stack Overflow用户
提问于 2015-05-23 20:53:55
回答 1查看 2.8K关注 0票数 0
代码语言:javascript
复制
use std::io::Read;
use std::net::TcpListener;

struct Server<'a> {
    ip_addr: &'a str,
}

impl<'a> Server<'a> {
    fn receive(&self) {
        let mut received_message_buf: [u8; 100];

        let tcp_listener = TcpListener::bind(self.ip_addr).unwrap();
        tcp_listener.accept().unwrap().0.read(&received_message_buf);
    }
}

fn main() {}

我得到了不匹配的类型:

代码语言:javascript
复制
<anon>:13:47: 13:68 error: mismatched types:
 expected `&mut [u8]`,
    found `&[u8; 100]`
(values differ in mutability) [E0308]
<anon>:13         tcp_listener.accept().unwrap().0.read(&received_message_buf);
                                                        ^~~~~~~~~~~~~~~~~~~~~
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-23 20:57:07

您需要使用&mut received_message_buf而不是&

&mut创建一个可变引用(因此read()可以将内容放入缓冲区),而&则创建一个不可变的引用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30417483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档