Avatar ·

Rust में किसी मेथड से स्ट्रक्चर के फील्ड को कैसे बदलें?

नमस्ते साथियों! मैंने अभी Rust सीखना शुरू किया है और एक ऐसी समस्या का सामना किया है जो सरल लगती है, लेकिन मैं इसे हल नहीं कर पा रहा हूँ। मेरे पास एक `Counter` स्ट्रक्चर है जो एक संख्या स्टोर करता है। मैं एक `increment` मेथड लिखना चाहता हूँ जो इस संख्या को 1 से बढ़ाए। लेकिन कंपाइलर एक एरर देता है, और मुझे समझ नहीं आ रहा क्यों। यहाँ मेरा कोड है: ```rust struct Counter { value: i32, } impl Counter { fn increment(&self) { self.value += 1; // एरर! } } fn main() { let mut counter = Counter { value: 0 }; counter.increment(); println!("{}", counter.value); } ``` कंपाइलर कहता है: `cannot borrow `self.value` as mutable, as `self` is a `&` reference`। मैंने सोचा था कि अगर मैं `counter` को `mut` घोषित करूँ, तो मैं मेथड्स के अंदर इसके फील्ड्स को बदल सकता हूँ। लेकिन जाहिर है, ऐसा नहीं है। कैसे

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग