Pointer from pointer address (expression must be an lvalue or a function designator)

When i try to convert pointer to pointer i get error: expression must be an lvalue or a function designator

Here is my code:

sf::RenderWindow** window = &game->getWindow(); //expression must be an lvalue or a function designator

window->create(sf::VideoMode(1600, 800), game->getName(), sf::Style::Default, window_settings); //expression must be an lvalue or a function designator
You can't get the address of a temporary.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int get_int(){
    return 0;
}

int *get_pointer(){
    static int x = 0;
    return &x;
}

int &get_reference(){
    static int x = 0;
    return x;
}

&get_int(); //Error. Returned int is temporary.
&get_pointer(); //Error. Returned pointer is temporary.
&get_reference(); //OK. References are not temporaries. 
You can only get the address of something that can appear on the left side of an assignment.

Just do
1
2
3
sf::RenderWindow* window = game->getWindow();function designator

window->create(sf::VideoMode(1600, 800), game->getName(), sf::Style::Default, window_settings); 
Last edited on
Topic archived. No new replies allowed.