# Error code E0745

The address of temporary value was taken.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    #![feature(raw_ref_op)]
    fn temp_address() {
        let ptr = &raw const 2; // error!
    }
    }

In this example, `2` is destroyed right after the assignment, which means that `ptr` now points to an unavailable location.

To avoid this error, first bind the temporary to a named local variable:

    #![allow(unused)]
    fn main() {
    #![feature(raw_ref_op)]
    fn temp_address() {
        let val = 2;
        let ptr = &raw const val; // ok!
    }
    }