2016-10-16 7 views
0

Во время работы на стороне проекта я пытался использовать оператор инкремента, следующим образом:Ошибка компиляции при попытке использовать оператор инкремента

fn main() { 
    let mut my_var = 5; 
    my_var++; 
} 

и получил следующее сообщение об ошибке:

error: expected expression, found `+` 
--> src\main.rs:3:12 
    | 
3 |  my_var++; 
    |   ^

Что случилось с моим кодом?

+1

Этот вопрос буквально в FAQ на сайте Rust: /. – kirelagin

+1

@kirelagin Да, но с учетом вышеприведенной ошибки компиляции, как я должен это знать? Мне потребовалось некоторое время, чтобы найти, и я верю, что будут другие, которые будут искать подобное сообщение об ошибке. –

ответ

7

Операции с приращением (++) и декрементом (-): не поддерживается in Rust.

От Rust's FAQ:

Why doesn't Rust have increment and decrement operators?
Preincrement and postincrement (and the decrement equivalents), while convenient, are also fairly complex. They require knowledge of evaluation order, and often lead to subtle bugs and undefined behavior in C and C++. x = x + 1 or x += 1 is only slightly longer, but unambiguous.

Смежные вопросы