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() {}我得到了不匹配的类型:
<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);
^~~~~~~~~~~~~~~~~~~~~发布于 2015-05-23 20:57:07
您需要使用&mut received_message_buf而不是&。
&mut创建一个可变引用(因此read()可以将内容放入缓冲区),而&则创建一个不可变的引用。
https://stackoverflow.com/questions/30417483
复制相似问题